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