1 # 2 # gstreamer-lite Makefile 3 # 4 5 LINK = link.exe 6 7 GLIB_VERSION = 2.28.8 8 export GLIB_DIR = ../../../3rd_party/glib/glib-$(GLIB_VERSION) 9 10 GSTREAMER_TARGET = libgstreamer.lib 11 GSTPLUGINS_TARGET = libgstplugins.lib 12 MODULES = $(GSTREAMER_TARGET) $(GSTPLUGINS_TARGET) 13 14 export BUILD_DIR = $(shell cygpath -u "$(OUTPUT_DIR)/$(BUILD_TYPE)") 15 DEF_DIR = .. 16 17 TARGET = $(BUILD_DIR)/$(BASE_NAME).dll 18 19 MANIFEST = $(shell cygpath -ma "$(BUILD_DIR)/$(BASE_NAME).manifest") 20 IMPLIB = $(shell cygpath -ma "$(BUILD_DIR)/$(BASE_NAME).lib") 21 export PDB = $(shell cygpath -ma "$(BUILD_DIR)/$(BASE_NAME).pdb") 22 23 SYSTEM_LIBS = glib-lite.lib \ 24 Ws2_32.lib \ 25 kernel32.lib \ 26 user32.lib \ 27 shell32.lib \ 28 advapi32.lib \ 29 ole32.lib \ 30 DSound.lib 31 32 LDFLAGS = -out:$(shell cygpath -ma $(TARGET)) -nologo -incremental:no -libpath:$(shell cygpath -ma $(BUILD_DIR)) -dll $(SYSTEM_LIBS) \ 33 -manifest -manifestfile:$(MANIFEST) -manifestuac:"level='asInvoker' uiAccess='false'" \ 34 -subsystem:windows -tlbid:1 -dynamicbase -nxcompat -errorreport:queue -implib:$(IMPLIB) \ 35 -def:$(DEF_DIR)/gstreamer-lite.def 36 37 ifeq ($(BUILD_TYPE), Release) 38 LDFLAGS += -opt:ref -opt:icf 39 else # debug 40 LDFLAGS += -debug -pdb:$(PDB) 41 endif 42 43 ifeq ($(ARCH), x32) 44 LDFLAGS += -MACHINE:x86 45 else 46 LDFLAGS += -MACHINE:x64 47 endif 48 49 LIBS = $(addprefix $(BUILD_DIR)/,$(MODULES)) 50 51 .PHONY: default $(MODULES) list 52 53 default: $(MODULES) 54 $(MAKE) $(TARGET) 55 56 $(TARGET): $(LIBS) 57 $(LINK) $(LDFLAGS) $(shell cygpath -ma "$(RESOURCE)") $(foreach lib,$(LIBS),$(shell cygpath -ma $(lib))) 58 59 $(GSTREAMER_TARGET): 60 $(MAKE) TARGET=$(BUILD_DIR)/$(GSTREAMER_TARGET) -f Makefile.gstreamer 61 62 $(GSTPLUGINS_TARGET): 63 $(MAKE) TARGET=$(BUILD_DIR)/$(GSTPLUGINS_TARGET) -f Makefile.gstplugins