19
20 COMPILER_FLAGS = -nologo -W3 -WX- -EHsc -GS -fp:precise -Gm- \
21 -Zc:wchar_t -Zc:forScope -Gd -wd"4430" -analyze- -errorReport:queue
22
23 INCLUDES = -I$(SRCBASE_DIR)/include
24
25 CFLAGS = -DFFI_BUILDING \
26 -DGSTREAMER_LITE \
27 $(INCLUDES) \
28 $(COMPILER_FLAGS)
29
30 LIBFLAGS = -out:$(shell cygpath -ma $(TARGET)) -nologo
31
32 ifeq ($(BUILD_TYPE), Release)
33 CFLAGS += -O1 -Oy -MD -Gy -GF
34 else # debug
35 CFLAGS += -Od -Oy- -RTC1 -MDd -Zi -Fd$(PDB)
36 endif
37
38 ifeq ($(ARCH), x32)
39 INCLUDES += -I$(SRCBASE_DIR)/include/x86
40 CFLAGS += -DX86_WIN32
41 LIBFLAGS += -MACHINE:x86
42
43 C_SOURCES += src/x86/ffi.c
44 ASM_SOURCES = src/x86/win32.S
45 ASM_FLAGS = -DX86_WIN32
46
47 ML = ml.exe
48 MLFLAGS = -safeseh
49 else
50 INCLUDES += -I$(SRCBASE_DIR)/include/x64
51 CFLAGS += -DX86_WIN64
52 LIBFLAGS += -MACHINE:x64
53
54 C_SOURCES += src/x86/ffi.c
55 ASM_SOURCES = src/x86/win64.S
56 ASM_FLAGS = -DX86_WIN64
57
58 ML = ml64.exe
59 MLFLAGS =
60 endif
61
62 OBJECTS = $(patsubst %.c,$(OBJBASE_DIR)/%.obj,$(C_SOURCES)) \
63 $(patsubst %.S,$(OBJBASE_DIR)/%.obj,$(ASM_SOURCES))
64
65 .PHONY: default list
66
67 default: $(TARGET)
68
69 $(TARGET): $(OBJECTS)
70 $(AR) $(LIBFLAGS) $(foreach object,$(OBJECTS),$(shell cygpath -ma $(object)))
71
72 $(OBJECTS): | $(DEP_DIRS)
73
74 $(DEP_DIRS):
75 @mkdir -p $(DEP_DIRS)
|
19
20 COMPILER_FLAGS = -nologo -W3 -WX- -EHsc -GS -fp:precise -Gm- \
21 -Zc:wchar_t -Zc:forScope -Gd -wd"4430" -analyze- -errorReport:queue
22
23 INCLUDES = -I$(SRCBASE_DIR)/include
24
25 CFLAGS = -DFFI_BUILDING \
26 -DGSTREAMER_LITE \
27 $(INCLUDES) \
28 $(COMPILER_FLAGS)
29
30 LIBFLAGS = -out:$(shell cygpath -ma $(TARGET)) -nologo
31
32 ifeq ($(BUILD_TYPE), Release)
33 CFLAGS += -O1 -Oy -MD -Gy -GF
34 else # debug
35 CFLAGS += -Od -Oy- -RTC1 -MDd -Zi -Fd$(PDB)
36 endif
37
38 ifeq ($(ARCH), x32)
39 INCLUDES += -I$(SRCBASE_DIR)/include/win/x86
40 CFLAGS += -DX86_WIN32
41 LIBFLAGS += -MACHINE:x86
42
43 C_SOURCES += src/x86/ffi.c
44 ASM_SOURCES = src/x86/sysv_intel.S
45 ASM_FLAGS = -DX86_WIN32
46
47 ML = ml.exe
48 MLFLAGS = -safeseh
49 else
50 INCLUDES += -I$(SRCBASE_DIR)/include/win/x64
51 CFLAGS += -DX86_WIN64
52 LIBFLAGS += -MACHINE:x64
53
54 C_SOURCES += src/x86/ffiw64.c
55 ASM_SOURCES = src/x86/win64_intel.S
56 ASM_FLAGS = -DX86_WIN64
57
58 ML = ml64.exe
59 MLFLAGS =
60 endif
61
62 OBJECTS = $(patsubst %.c,$(OBJBASE_DIR)/%.obj,$(C_SOURCES)) \
63 $(patsubst %.S,$(OBJBASE_DIR)/%.obj,$(ASM_SOURCES))
64
65 .PHONY: default list
66
67 default: $(TARGET)
68
69 $(TARGET): $(OBJECTS)
70 $(AR) $(LIBFLAGS) $(foreach object,$(OBJECTS),$(shell cygpath -ma $(object)))
71
72 $(OBJECTS): | $(DEP_DIRS)
73
74 $(DEP_DIRS):
75 @mkdir -p $(DEP_DIRS)
|