1 .PHONY: all objdir clean realclean distclean
14 OPTIMIZE := -O2 -ffast-math
19 TARGET_TYPE = staticlib
21 ifeq "$(TARGET_TYPE)" "executable"
35 include ../../include.mk
39 OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
47 TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ffi$(A)
59 ECSOURCES = $(call shwspace,$(_ECSOURCES))
64 SOURCES = $(ECSOURCES) \
74 LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
76 CFLAGS += -fmessage-length=0 $(OPTIMIZE) $(FPIC) -Wall \
78 -Ii686-pc-mingw32/include \
85 ifneq "$(TARGET_TYPE)" "staticlib"
94 $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
98 $(TARGET): $(SOURCES) $(RESOURCES) $(SYMBOLS) $(OBJECTS) | objdir
99 ifneq "$(TARGET_TYPE)" "staticlib"
100 $(CC) $(OFLAGS) $(OBJECTS) $(LIBS) -o $(TARGET) $(INSTALLNAME)
102 $(STRIP) $(STRIPOPT) $(TARGET)
105 $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS)
114 $(OBJ)ffi.o: src/x86/ffi.c
115 $(CC) $(CFLAGS) -c src/x86/ffi.c -o $(OBJ)ffi.o
117 $(OBJ)win32.o: src/x86/win32.S
118 $(CC) $(CFLAGS) -c src/x86/win32.S -o $(OBJ)win32.o
120 $(OBJ)prep_cif.o: src/prep_cif.c
121 $(CC) $(CFLAGS) -c src/prep_cif.c -o $(OBJ)prep_cif.o
123 $(OBJ)raw_api.o: src/raw_api.c
124 $(CC) $(CFLAGS) -c src/raw_api.c -o $(OBJ)raw_api.o
126 $(OBJ)types.o: src/types.c
127 $(CC) $(CFLAGS) -c src/types.c -o $(OBJ)types.o
129 $(OBJ)closures.o: src/closures.c
130 $(CC) $(CFLAGS) -c src/closures.c -o $(OBJ)closures.o
133 $(call rmq,$(TARGET))
134 $(call rmq,$(OBJECTS))