ecere/Semaphore,OpenGL: Added OSX includes; Enabled GLX on Mac
[sdk] / deps / libffi-3.0.11 / Makefile
1 .PHONY: all objdir clean realclean distclean
2
3 # CORE VARIABLES
4
5 MODULE := ffi
6 CONFIG := release
7 ifndef COMPILER
8 COMPILER := default
9 endif
10
11 TARGET_TYPE = staticlib
12
13 # FLAGS
14
15 ECFLAGS =
16 ifndef DEBIAN_PACKAGE
17 CFLAGS =
18 LDFLAGS =
19 endif
20 PRJ_CFLAGS =
21 CECFLAGS =
22 OFLAGS =
23 LIBS =
24
25 ifdef DEBUG
26 NOSTRIP := y
27 endif
28
29 CONSOLE = -mwindows
30
31 # INCLUDES
32
33 _CF_DIR = ../../
34
35 include $(_CF_DIR)crossplatform.mk
36 include $(_CF_DIR)default.cf
37
38 # POST-INCLUDES VARIABLES
39
40 OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
41
42 RES = 
43
44 TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ffi$(A)
45
46 _OBJECTS = \
47         $(OBJ)ffi.o \
48         $(OBJ)win32.o \
49         $(OBJ)prep_cif.o \
50         $(OBJ)raw_api.o \
51         $(OBJ)types.o \
52         $(OBJ)closures.o
53
54 OBJECTS = $(_OBJECTS)
55
56 SOURCES = \
57         src/x86/ffi.c \
58         src/x86/win32.S \
59         src/prep_cif.c \
60         src/raw_api.c \
61         src/types.c \
62         src/closures.c
63
64 RESOURCES =
65
66 LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
67
68 PRJ_CFLAGS += \
69          $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -Wall \
70                          -Iinclude \
71                          -Ii686-pc-mingw32/include \
72                          -Ii686-pc-mingw32
73
74
75
76
77
78 CECFLAGS += -cpp $(_CPP)
79
80 ifndef STATIC_LIBRARY_TARGET
81 OFLAGS +=
82 endif
83
84 # TARGETS
85
86 all: objdir $(TARGET)
87
88 objdir:
89         $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
90
91 $(SYMBOLS): | objdir
92 $(OBJECTS): | objdir
93 $(TARGET): $(SOURCES) $(RESOURCES) $(SYMBOLS) $(OBJECTS) | objdir
94 ifndef STATIC_LIBRARY_TARGET
95         $(CC) $(OFLAGS) $(OBJECTS) $(LIBS) -o $(TARGET) $(INSTALLNAME)
96 ifndef NOSTRIP
97         $(STRIP) $(STRIPOPT) $(TARGET)
98 endif
99 else
100         $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS)
101 endif
102
103 # SYMBOL RULES
104
105 # C OBJECT RULES
106
107 # OBJECT RULES
108
109 $(OBJ)ffi.o: src/x86/ffi.c
110         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c src/x86/ffi.c -o $(OBJ)ffi.o
111
112 $(OBJ)win32.o: src/x86/win32.S
113         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c src/x86/win32.S -o $(OBJ)win32.o
114
115 $(OBJ)prep_cif.o: src/prep_cif.c
116         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c src/prep_cif.c -o $(OBJ)prep_cif.o
117
118 $(OBJ)raw_api.o: src/raw_api.c
119         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c src/raw_api.c -o $(OBJ)raw_api.o
120
121 $(OBJ)types.o: src/types.c
122         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c src/types.c -o $(OBJ)types.o
123
124 $(OBJ)closures.o: src/closures.c
125         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c src/closures.c -o $(OBJ)closures.o
126
127 clean: objdir
128         $(call rmq,$(TARGET))
129         $(call rmq,$(_OBJECTS))
130
131 realclean: clean
132         $(call rmrq,$(OBJ))
133
134 distclean:
135         $(call rmrq,obj/)