81ae7c40bf1dfda20a02d0277fcf2aea5a570976
[sdk] / deps / zlib / Makefile
1 .PHONY: all objdir clean realclean distclean
2
3 # CORE VARIABLES
4
5 MODULE := libz
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 endif
19 CECFLAGS =
20 OFLAGS =
21 LDFLAGS =
22 LIBS =
23
24 ifdef DEBUG
25 NOSTRIP := y
26 endif
27
28 CONSOLE = -mwindows
29
30 # INCLUDES
31
32 _CF_DIR = ../../
33
34 include $(_CF_DIR)crossplatform.mk
35 include $(_CF_DIR)include.mk
36
37 # POST-INCLUDES VARIABLES
38
39 OBJ = obj/$(CONFIG).$(PLATFORM)/
40
41 RES = 
42
43 TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)z$(A)
44
45 _OBJECTS = \
46         $(OBJ)adler32.o \
47         $(OBJ)compress.o \
48         $(OBJ)crc32.o \
49         $(OBJ)deflate.o \
50         $(OBJ)gzio.o \
51         $(OBJ)infback.o \
52         $(OBJ)inffast.o \
53         $(OBJ)inflate.o \
54         $(OBJ)inftrees.o \
55         $(OBJ)trees.o \
56         $(OBJ)uncompr.o \
57         $(OBJ)zutil.o
58
59 OBJECTS = $(_OBJECTS)
60
61 SOURCES = $(ECSOURCES) \
62         adler32.c \
63         compress.c \
64         crc32.c \
65         deflate.c \
66         gzio.c \
67         infback.c \
68         inffast.c \
69         inflate.c \
70         inftrees.c \
71         trees.c \
72         uncompr.c \
73         zutil.c
74
75 RESOURCES =
76
77 LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
78
79 CFLAGS += \
80          $(if $(DEBIAN_PACKAGE),$(CPPFLAGS),) $(if $(DEBUG), -D_DEBUG,) \
81          $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w
82
83
84
85
86
87 CECFLAGS += -cpp $(CPP)
88
89 ifndef STATIC_LIBRARY_TARGET
90 OFLAGS +=
91 OFLAGS += $(LDFLAGS)
92 endif
93
94 # TARGETS
95
96 all: objdir $(TARGET)
97
98 objdir:
99         $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
100
101 $(TARGET): $(SOURCES) $(RESOURCES) | objdir $(SYMBOLS) $(OBJECTS)
102         $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS)
103
104 # SYMBOL RULES
105
106 # C OBJECT RULES
107
108 # OBJECT RULES
109
110 $(OBJ)adler32.o: adler32.c
111         $(CC) $(CFLAGS) -c adler32.c -o $(OBJ)adler32.o
112
113 $(OBJ)compress.o: compress.c
114         $(CC) $(CFLAGS) -c compress.c -o $(OBJ)compress.o
115
116 $(OBJ)crc32.o: crc32.c
117         $(CC) $(CFLAGS) -c crc32.c -o $(OBJ)crc32.o
118
119 $(OBJ)deflate.o: deflate.c
120         $(CC) $(CFLAGS) -c deflate.c -o $(OBJ)deflate.o
121
122 $(OBJ)gzio.o: gzio.c
123         $(CC) $(CFLAGS) -c gzio.c -o $(OBJ)gzio.o
124
125 $(OBJ)infback.o: infback.c
126         $(CC) $(CFLAGS) -c infback.c -o $(OBJ)infback.o
127
128 $(OBJ)inffast.o: inffast.c
129         $(CC) $(CFLAGS) -c inffast.c -o $(OBJ)inffast.o
130
131 $(OBJ)inflate.o: inflate.c
132         $(CC) $(CFLAGS) -c inflate.c -o $(OBJ)inflate.o
133
134 $(OBJ)inftrees.o: inftrees.c
135         $(CC) $(CFLAGS) -c inftrees.c -o $(OBJ)inftrees.o
136
137 $(OBJ)trees.o: trees.c
138         $(CC) $(CFLAGS) -c trees.c -o $(OBJ)trees.o
139
140 $(OBJ)uncompr.o: uncompr.c
141         $(CC) $(CFLAGS) -c uncompr.c -o $(OBJ)uncompr.o
142
143 $(OBJ)zutil.o: zutil.c
144         $(CC) $(CFLAGS) -c zutil.c -o $(OBJ)zutil.o
145
146 clean: objdir
147         $(call rmq,$(TARGET))
148         $(call rmq,$(_OBJECTS))
149
150 realclean: clean
151         $(call rmrq,$(OBJ))
152
153 distclean:
154         $(call rmrq,obj/)