buildsystem,makefiles,tarball: improve distclean targets to remove .configs/, *.ews...
[sdk] / deps / zlib-1.2.8 / Makefile
1 .PHONY: all objdir cleantarget clean realclean distclean
2
3 # CORE VARIABLES
4
5 MODULE := libz
6 VERSION := 
7 CONFIG := release
8 ifndef COMPILER
9 COMPILER := default
10 endif
11
12 TARGET_TYPE = staticlib
13
14 # FLAGS
15
16 ECFLAGS =
17 ifndef DEBIAN_PACKAGE
18 CFLAGS =
19 LDFLAGS =
20 endif
21 PRJ_CFLAGS =
22 CECFLAGS =
23 OFLAGS =
24 LIBS =
25
26 ifdef DEBUG
27 NOSTRIP := y
28 endif
29
30 CONSOLE = -mwindows
31
32 # INCLUDES
33
34 _CF_DIR = ../../
35
36 include $(_CF_DIR)crossplatform.mk
37 include $(_CF_DIR)default.cf
38
39 # POST-INCLUDES VARIABLES
40
41 OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
42
43 RES = 
44
45 TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)z$(A)
46
47 _OBJECTS = \
48         $(OBJ)adler32.o \
49         $(OBJ)compress.o \
50         $(OBJ)crc32.o \
51         $(OBJ)deflate.o \
52         $(OBJ)infback.o \
53         $(OBJ)inffast.o \
54         $(OBJ)inflate.o \
55         $(OBJ)inftrees.o \
56         $(OBJ)trees.o \
57         $(OBJ)uncompr.o \
58         $(OBJ)zutil.o \
59         $(OBJ)gzclose.o \
60         $(OBJ)gzlib.o \
61         $(OBJ)gzread.o \
62         $(OBJ)gzwrite.o
63
64 OBJECTS = $(_OBJECTS)
65
66 SOURCES = \
67         adler32.c \
68         compress.c \
69         crc32.c \
70         deflate.c \
71         infback.c \
72         inffast.c \
73         inflate.c \
74         inftrees.c \
75         trees.c \
76         uncompr.c \
77         zutil.c \
78         gzclose.c \
79         gzlib.c \
80         gzread.c \
81         gzwrite.c
82
83 RESOURCES =
84
85 LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
86
87 PRJ_CFLAGS += \
88          $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w -DREPOSITORY_VERSION="\"$(REPOSITORY_VER)\""
89
90 ECFLAGS += -module $(MODULE)
91 CECFLAGS += -cpp $(_CPP)
92
93 # TARGETS
94
95 all: objdir $(TARGET)
96
97 objdir:
98         $(if $(wildcard $(OBJ)),,$(call mkdir,$(OBJ)))
99
100 $(SYMBOLS): | objdir
101 $(OBJECTS): | objdir
102 $(TARGET): $(SOURCES) $(RESOURCES) $(SYMBOLS) $(OBJECTS) | objdir
103         @$(call rm,$(OBJ)objects.lst)
104         @$(call touch,$(OBJ)objects.lst)
105         @$(call echo,$(_OBJECTS)) >> $(OBJ)objects.lst
106 ifndef STATIC_LIBRARY_TARGET
107         $(CC) $(OFLAGS) @$(OBJ)objects.lst $(LIBS) -o $(TARGET) $(INSTALLNAME)
108 ifndef NOSTRIP
109         $(STRIP) $(STRIPOPT) $(TARGET)
110 endif
111 else
112 ifdef WINDOWS_HOST
113         $(AR) rcs $(TARGET) @$(OBJ)objects.lst $(LIBS)
114 else
115         $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS)
116 endif
117 endif
118 ifdef SHARED_LIBRARY_TARGET
119 ifdef LINUX_TARGET
120 ifdef LINUX_HOST
121         $(if $(basename $(VER)),ln -sf $(LP)$(MODULE)$(SO)$(VER) $(OBJ)$(LP)$(MODULE)$(SO)$(basename $(VER)),)
122         $(if $(VER),ln -sf $(LP)$(MODULE)$(SO)$(VER) $(OBJ)$(LP)$(MODULE)$(SO),)
123 endif
124 endif
125 endif
126
127 # SYMBOL RULES
128
129 # C OBJECT RULES
130
131 # OBJECT RULES
132
133 $(OBJ)adler32.o: adler32.c
134         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,adler32.c) -o $(call quote_path,$@)
135
136 $(OBJ)compress.o: compress.c
137         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,compress.c) -o $(call quote_path,$@)
138
139 $(OBJ)crc32.o: crc32.c
140         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,crc32.c) -o $(call quote_path,$@)
141
142 $(OBJ)deflate.o: deflate.c
143         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,deflate.c) -o $(call quote_path,$@)
144
145 $(OBJ)infback.o: infback.c
146         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,infback.c) -o $(call quote_path,$@)
147
148 $(OBJ)inffast.o: inffast.c
149         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,inffast.c) -o $(call quote_path,$@)
150
151 $(OBJ)inflate.o: inflate.c
152         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,inflate.c) -o $(call quote_path,$@)
153
154 $(OBJ)inftrees.o: inftrees.c
155         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,inftrees.c) -o $(call quote_path,$@)
156
157 $(OBJ)trees.o: trees.c
158         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,trees.c) -o $(call quote_path,$@)
159
160 $(OBJ)uncompr.o: uncompr.c
161         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,uncompr.c) -o $(call quote_path,$@)
162
163 $(OBJ)zutil.o: zutil.c
164         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,zutil.c) -o $(call quote_path,$@)
165
166 $(OBJ)gzclose.o: gzclose.c
167         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,gzclose.c) -o $(call quote_path,$@)
168
169 $(OBJ)gzlib.o: gzlib.c
170         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,gzlib.c) -o $(call quote_path,$@)
171
172 $(OBJ)gzread.o: gzread.c
173         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,gzread.c) -o $(call quote_path,$@)
174
175 $(OBJ)gzwrite.o: gzwrite.c
176         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c $(call quote_path,gzwrite.c) -o $(call quote_path,$@)
177
178 cleantarget: objdir
179         $(call rm,$(OBJ)objects.lst)
180         $(call rm,$(TARGET))
181 ifdef SHARED_LIBRARY_TARGET
182 ifdef LINUX_TARGET
183 ifdef LINUX_HOST
184         $(call rm,$(OBJ)$(LP)$(MODULE)$(SO)$(basename $(VER)))
185         $(call rm,$(OBJ)$(LP)$(MODULE)$(SO))
186 endif
187 endif
188 endif
189
190 clean: cleantarget
191         $(call rm,$(_OBJECTS))
192
193 realclean: cleantarget
194         $(call rmr,$(OBJ))
195
196 distclean:
197         $(_MAKE) -f $(_CF_DIR)Cleanfile distclean distclean_all_subdirs
198
199 Makefile: ;
200 $(_CF_DIR)crossplatform.mk: ;
201 $(_CF_DIR)default.cf: ;