Rev 6745 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
6725 | siemargl | 1 | # Makefile for UnZip, fUnZip and UnZipSFX for native Win32-Intel ports of gcc. |
2 | # Currently supported implementations: Cygnus/Win32 and MinGW32. |
||
3 | # |
||
4 | # First version: Cosmin Truta, Dec 1997. |
||
5 | # Last revision: Christian Spieler, 09-Aug-2008. |
||
6 | # |
||
7 | # To use, do "make -f win32/makefile.gcc". |
||
8 | |||
9 | # configuration switches supported: |
||
10 | # NOASM=1 disable assembler crc32 code, the generic C source code |
||
11 | # is used instead. |
||
12 | # NOCRC_OPT=1 disable "unfolding CRC tables" optimization. |
||
13 | # OPT_P6=1 add "modern gcc" tuning option for PentiumPro family CPU. |
||
14 | # USEBZ2=1 activate integrated compilation of bzip2 compression support, |
||
15 | # this requires the bzip2 sources present in the bzip2 subfolder. |
||
16 | # USEZLIB=1 replace internal deflate code by externally provided zlib. |
||
17 | # USE_POSIX=1 build posix-style binaries targeted for the CygWin unix |
||
18 | # emulation environment. |
||
19 | SDK_DIR:= $(abspath ../../../contrib/sdk) |
||
20 | NOASM=1 |
||
21 | CC_CPU_OPT=-march=pentium |
||
6745 | siemargl | 22 | #USEZLIB=1 |
6764 | siemargl | 23 | #DEBUG=1 |
6725 | siemargl | 24 | |
6764 | siemargl | 25 | |
6725 | siemargl | 26 | ### Optional section |
27 | |||
28 | # The following options allow to override the default assembler code usage |
||
29 | ifdef NOASM |
||
30 | APPLY_ASMCRC=0 |
||
31 | endif |
||
32 | ifdef USEASM |
||
33 | APPLY_ASMCRC=1 |
||
34 | endif |
||
35 | |||
36 | # The external zlib library supplies its own crc32 implementation... |
||
37 | ifdef USEZLIB |
||
38 | APPLY_ASMCRC=0 |
||
39 | endif |
||
40 | |||
41 | # default is ASM CRC code (from .S source) for now... |
||
42 | ifndef APPLY_ASMCRC |
||
43 | APPLY_ASMCRC=1 |
||
44 | endif |
||
45 | |||
46 | # optional inclusion of bzip2 decompression |
||
47 | IZ_BZIP2 = bzip2 |
||
48 | ifdef USEBZ2 |
||
49 | INC_BZ2LIB = -I$(IZ_BZIP2) |
||
50 | LOCFLAGS = $(INC_BZ2LIB) -DUSE_BZIP2 |
||
51 | LD_BZ2LIB = -L$(IZ_BZIP2) -lbz2 |
||
52 | LIBBZIP2 = $(IZ_BZIP2)/libbz2.a |
||
53 | else |
||
54 | INC_BZ2LIB = |
||
55 | LOCFLAGS = |
||
56 | LD_BZ2LIB = |
||
57 | LIBBZIP2 = |
||
58 | endif |
||
59 | LIBBZIP2X = $(LIBBZIP2) |
||
60 | |||
61 | ifndef USEZLIB |
||
62 | |||
63 | # Apply the "CRC unfolding tables" optimization unless explicitly disabled. |
||
64 | # (This optimization might have negative effects on old CPU designs with a |
||
65 | # small first-level data cache.) |
||
66 | ifndef NOCRC_OPT |
||
67 | LOCFLAGS += -DIZ_CRCOPTIM_UNFOLDTBL |
||
68 | endif |
||
69 | |||
70 | # Optional nonstandard preprocessor flags (as -DUSE_ZLIB or -DUSE_SMITH_CODE) |
||
71 | # should be added to the environment via "set LOCAL_UNZIP=-DFOO" or added |
||
72 | # to the declaration of LOCFLAGS here: |
||
73 | ifneq ($(APPLY_ASMCRC),0) |
||
74 | LOCFLAGS += -DASM_CRC |
||
75 | endif |
||
76 | |||
77 | else # ifndef USEZLIB |
||
78 | |||
79 | LOCFLAGS += -DUSE_ZLIB |
||
80 | |||
81 | endif # ifndef USEZLIB ... else ... |
||
82 | |||
83 | # Finally, append additional externally supplied options. |
||
84 | LOCFLAGS += $(LOCAL_UNZIP) |
||
85 | |||
86 | # Some gcc distributions for Win32 (e.g. CygWin) try to emulate a POSIX- |
||
87 | # compatible (Unix-style) environment. This Makefile defaults to a |
||
88 | # "native Win32" build. To build POSIX-mode binaries, it is recommended |
||
89 | # to use the Makefile of the Unix port. However, by defining the variable |
||
90 | # "USE_POSIX", building binaries for the POSIX environment can be enabled |
||
91 | # here as well. |
||
92 | ifdef 0 |
||
93 | ifdef USE_POSIX |
||
94 | CC_ENVIR_OPT = -DUNIX -DFORCE_UNIX_OVER_WIN32 |
||
95 | else |
||
96 | CC_ENVIR_OPT = -DWIN32 -DFORCE_WIN32_OVER_UNIX |
||
97 | endif |
||
98 | endif |
||
99 | ### kolibri specific |
||
6745 | siemargl | 100 | INCLUDES= -I $(SDK_DIR)/sources/newlib/libc/include -I $(SDK_DIR)/sources/zlib |
6725 | siemargl | 101 | LIBPATH = -L $(SDK_DIR)/lib -L /home/autobuild/tools/win32/mingw32/lib |
102 | |||
103 | CC_ENVIR_OPT = -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -DKOS32 \ |
||
104 | $(INCLUDES) |
||
105 | |||
106 | ### Compiler-specific section |
||
107 | |||
108 | # ------------ GNU C ------------ |
||
109 | CC = kos32-gcc |
||
110 | |||
111 | #AS = as |
||
112 | AS = $(CC) |
||
113 | |||
114 | LD = kos32-ld |
||
115 | ###LD = $(CC) |
||
116 | |||
117 | AR = ar |
||
118 | |||
119 | ###RC = windres |
||
120 | |||
121 | # Quiet |
||
122 | CC_QUIET_OPT = |
||
123 | AS_QUIET_OPT = $(CC_QUIET_OPT) |
||
124 | LD_QUIET_OPT = $(CC_QUIET_OPT) |
||
125 | |||
126 | # Warnings |
||
127 | CC_WARN_OPT = -Wall |
||
128 | AS_WARN_OPT = $(CC_WARN_OPT) |
||
129 | LD_WARN_OPT = |
||
130 | |||
131 | # Debug version |
||
6764 | siemargl | 132 | CC_DEBUG_OPT = -g -DDEBUG |
6725 | siemargl | 133 | AS_DEBUG_OPT = $(CC_DEBUG_OPT) |
6764 | siemargl | 134 | LD_DEBUG_OPT = -g |
6725 | siemargl | 135 | |
136 | # Release version |
||
137 | CC_RELEASE_OPT = |
||
138 | AS_RELEASE_OPT = |
||
139 | LD_RELEASE_OPT = -s |
||
140 | |||
141 | # Prefered target CPU (instruction scheduling optimized for...) |
||
142 | ifndef CC_CPU_OPT |
||
143 | CC_CPU_OPT = -mcpu=pentiumpro |
||
144 | endif |
||
145 | |||
146 | # Smallest code (-Os is new since EGC 1.1, use -O1 for 2.8.1 and earlier) |
||
147 | CC_SIZE_OPT = -Os $(CC_CPU_OPT) |
||
148 | |||
149 | # Fastest code |
||
150 | CC_SPEED_OPT = -O2 $(CC_CPU_OPT) |
||
151 | |||
152 | # Output object file name |
||
153 | CC_OUT_OPT = -o |
||
154 | |||
155 | # Other specific options |
||
156 | CC_SPECIFIC_OPT = -c $(CC_ENVIR_OPT) |
||
157 | AS_SPECIFIC_OPT = -c |
||
6745 | siemargl | 158 | LD_SPECIFIC_OPT = -o $@ -static -S -nostdlib -T $(SDK_DIR)/sources/newlib/app-dynamic.lds \ |
6725 | siemargl | 159 | --image-base 0 $(LIBPATH) |
160 | |||
161 | # Libraries for the debug & release version |
||
162 | # (GCC 2.95 and newer does not require the system library specifications) |
||
6745 | siemargl | 163 | # -lapp only for gcc 4.8 |
6725 | siemargl | 164 | ifdef USEZLIB |
6745 | siemargl | 165 | LD_RELEASE_LIBS = -lz -lgcc -ldll -lc.dll -lapp |
6725 | siemargl | 166 | else |
6745 | siemargl | 167 | LD_RELEASE_LIBS = -lgcc -ldll -lc.dll -lapp |
6725 | siemargl | 168 | endif |
169 | LD_DEBUG_LIBS = $(LD_RELEASE_LIBS) |
||
170 | |||
171 | |||
172 | ### System-specific section |
||
173 | |||
174 | # Suffixes |
||
175 | OBJ = .o |
||
6745 | siemargl | 176 | EXE = . |
6725 | siemargl | 177 | |
178 | .SUFFIXES: .c .S $(OBJ) $(EXE) |
||
179 | .PHONY: FORCE |
||
180 | |||
181 | # Commands |
||
182 | RM = del /q |
||
183 | |||
184 | |||
185 | ### General section |
||
186 | |||
187 | CFLAGS = $(CC_SPECIFIC_OPT) $(CC_QUIET_OPT) $(CC_WARN_OPT) $(LOCFLAGS) \ |
||
188 | $(CC_OUT_OPT) $@ |
||
189 | ASFLAGS = $(AS_SPECIFIC_OPT) $(AS_QUIET_OPT) $(AS_WARN_OPT) $(LOCFLAGS) |
||
190 | LDFLAGS = $(LD_SPECIFIC_OPT) $(LD_QUIET_OPT) $(LD_WARN_OPT) |
||
191 | |||
192 | # To build with debug info, use 'make DEBUG=1'. |
||
193 | ifdef DEBUG |
||
194 | CVER = $(CC_DEBUG_OPT) |
||
195 | ASVER = $(AS_DEBUG_OPT) |
||
196 | LDVER = $(LD_DEBUG_OPT) |
||
197 | GENFLAGS = |
||
198 | FFLAGS = -DFUNZIP |
||
199 | SFXFLAGS = -DSFX |
||
200 | GENDLLFL = -DDLL -DWINDLL |
||
201 | GENGUILB = -DSFX -DDLL -DWINDLL -DUNZIPLIB |
||
202 | GENGUISX = -DSFX |
||
203 | GENLIBFL = -DDLL -DWINDLL -DUNZIPLIB |
||
204 | LDLIBS = $(LD_DEBUG_LIBS) |
||
205 | else |
||
206 | CVER = $(CC_RELEASE_OPT) |
||
207 | ASVER = $(AS_RELEASE_OPT) |
||
208 | LDVER = $(LD_RELEASE_OPT) |
||
209 | GENFLAGS = $(CC_SPEED_OPT) |
||
210 | FFLAGS = $(CC_SPEED_OPT) -DFUNZIP |
||
211 | SFXFLAGS = $(CC_SIZE_OPT) -DSFX |
||
212 | GENDLLFL = $(CC_SPEED_OPT) -DDLL -DWINDLL |
||
213 | GENGUILB = $(CC_SIZE_OPT) -DSFX -DDLL -DWINDLL -DUNZIPLIB |
||
214 | GENGUISX = $(CC_SIZE_OPT) -DSFX |
||
215 | GENLIBFL = $(CC_SPEED_OPT) -DDLL -DWINDLL -DUNZIPLIB |
||
216 | LDLIBS = $(LD_RELEASE_LIBS) |
||
217 | endif |
||
218 | GUILDFLAG=-mwindows |
||
219 | |||
220 | # Object files |
||
221 | ifneq ($(APPLY_ASMCRC),0) |
||
222 | OBJA = crc_i386$(OBJ) |
||
223 | else |
||
224 | OBJA = |
||
225 | endif |
||
226 | OBJU1 = unzip$(OBJ) crc32$(OBJ) crypt$(OBJ) envargs$(OBJ) |
||
227 | OBJU2 = explode$(OBJ) extract$(OBJ) fileio$(OBJ) globals$(OBJ) inflate$(OBJ) |
||
228 | OBJU3 = list$(OBJ) match$(OBJ) process$(OBJ) ttyio$(OBJ) ubz2err$(OBJ) |
||
229 | OBJU4 = unreduce$(OBJ) unshrink$(OBJ) zipinfo$(OBJ) |
||
230 | OBJUS= kos32$(OBJ) dirent$(OBJ) |
||
231 | ###OBJUS = win32$(OBJ) win32i64$(OBJ) nt$(OBJ) winapprc$(OBJ) |
||
232 | OBJU = $(OBJU1) $(OBJU2) $(OBJU3) $(OBJU4) $(OBJA) $(OBJUS) |
||
233 | OBJX1 = unzipsfx$(OBJ) crc32x$(OBJ) cryptx$(OBJ) extractx$(OBJ) |
||
234 | OBJX2 = fileiox$(OBJ) globalsx$(OBJ) inflatex$(OBJ) matchx$(OBJ) processx$(OBJ) |
||
235 | OBJX3 = ttyiox$(OBJ) ubz2errx$(OBJ) |
||
236 | ###OBJXS = win32x$(OBJ) win32i64x$(OBJ) ntx$(OBJ) |
||
237 | OBJX = $(OBJX1) $(OBJX2) $(OBJX3) $(OBJA) $(OBJXS) |
||
238 | OBJF1 = funzip$(OBJ) crc32$(OBJ) cryptf$(OBJ) globalsf$(OBJ) inflatef$(OBJ) |
||
239 | OBJF2 = ttyiof$(OBJ) |
||
240 | ###OBJFS = win32f$(OBJ) win32i64f$(OBJ) |
||
241 | OBJF = $(OBJF1) $(OBJF2) $(OBJA) $(OBJFS) |
||
242 | OBJDLL = windll$(OBJ) windllrc$(OBJ) api$(OBJ) |
||
243 | OBJD1 = crc32l$(OBJ) cryptl$(OBJ) |
||
244 | OBJD2 = explodel$(OBJ) extractl$(OBJ) fileiol$(OBJ) globalsl$(OBJ) |
||
245 | OBJD3 = inflatel$(OBJ) listl$(OBJ) matchl$(OBJ) processl$(OBJ) ubz2errl$(OBJ) |
||
246 | OBJD4 = unreducl$(OBJ) unshrnkl$(OBJ) zipinfol$(OBJ) |
||
247 | ###OBJDS = win32l$(OBJ) win32i64l$(OBJ) ntl$(OBJ) |
||
248 | OBJD = $(OBJDLL) $(OBJD1) $(OBJD2) $(OBJD3) $(OBJD4) $(OBJA) $(OBJDS) |
||
249 | OBLX1 = apig$(OBJ) crc32g$(OBJ) cryptg$(OBJ) |
||
250 | OBLX2 = extractg$(OBJ) fileiog$(OBJ) globalsg$(OBJ) inflateg$(OBJ) |
||
251 | OBLX3 = matchg$(OBJ) processg$(OBJ) ubz2errg$(OBJ) |
||
252 | ###OBLXS = win32g$(OBJ) win32i64g$(OBJ) ntg$(OBJ) windllg$(OBJ) |
||
253 | OBLX = $(OBLX1) $(OBLX2) $(OBLX3) $(OBJA) $(OBLXS) |
||
254 | OBGX = sfxwiz$(OBJ) sfxwizrc$(OBJ) |
||
255 | OBJLIB = windllb$(OBJ) apib$(OBJ) |
||
256 | OBJB1 = crc32b$(OBJ) cryptb$(OBJ) |
||
257 | OBJB2 = explodeb$(OBJ) extractb$(OBJ) fileiob$(OBJ) globalsb$(OBJ) |
||
258 | OBJB3 = inflateb$(OBJ) listb$(OBJ) matchb$(OBJ) processb$(OBJ) ubz2errb$(OBJ) |
||
259 | OBJB4 = unreducb$(OBJ) unshrnkb$(OBJ) zipinfob$(OBJ) |
||
260 | ###OBJBS = win32b$(OBJ) win32i64b$(OBJ) ntb$(OBJ) |
||
261 | OBJB = $(OBJLIB) $(OBJB1) $(OBJB2) $(OBJB3) $(OBJB4) $(OBJA) $(OBJBS) |
||
262 | |||
263 | UNZIP_H = unzip.h unzpriv.h globals.h |
||
264 | ###win32/w32cfg.h |
||
265 | ###WINDLL_H = windll/windll.h windll/structs.h windll/decs.h |
||
266 | ###DLLDEF = windll/windllgcc.def |
||
267 | ###WINDLL_IMP_H = windll/decs.h windll/structs.h |
||
268 | |||
269 | |||
270 | # Default target is all the executables |
||
271 | ###unzips: unzip$(EXE) funzip$(EXE) unzipsfx$(EXE) |
||
272 | ###dll: unzip32.dll |
||
273 | ###dllsample: uzexampl$(EXE) |
||
274 | ###guisfx: SFXWiz32$(EXE) |
||
275 | #lib: libunzip32.a |
||
276 | ###all: unzips dll dllsample guisfx lib |
||
277 | all: unzip$(EXE) |
||
278 | |||
279 | unzip$(EXE): $(OBJU) $(LIBBZIP2) |
||
6745 | siemargl | 280 | $(LD) $(LDFLAGS) $(LDVER) $(OBJU) $(LD_BZ2LIB) $(LDLIBS) -Map=unzip.map |
6725 | siemargl | 281 | kos32-objcopy $@ -O binary |
282 | |||
283 | unzipsfx$(EXE): $(OBJX) $(LIBBZIP2X) |
||
284 | $(LD) $(LDFLAGS) $(LDVER) $(OBJX) $(LDLIBS) |
||
285 | |||
286 | funzip$(EXE): $(OBJF) |
||
287 | $(LD) $(LDFLAGS) $(LDVER) $(OBJF) $(LDLIBS) |
||
288 | |||
289 | unzip32.dll: $(DLLDEF) $(OBJD) $(LIBBZIP2) |
||
290 | dllwrap --driver-name $(CC) --def $(DLLDEF) $(LDFLAGS) $(LDVER) $(OBJD) $(LD_BZ2LIB) $(LDLIBS) |
||
291 | |||
292 | libunzsfx32.a: $(OBLX) |
||
293 | $(AR) -rus $@ $(OBLX) |
||
294 | |||
295 | SFXWiz32$(EXE): $(OBGX) libunzsfx32.a $(LIBBZIP2X) |
||
296 | $(LD) $(GUILDFLAG) $(LDFLAGS) $(LDVER) $(OBGX) -L. -lunzsfx32 $(LDLIBS) |
||
297 | |||
298 | uzexampl$(EXE): uzexampl$(OBJ) |
||
299 | $(CC) $(LDFLAGS) $(LDVER) uzexampl$(OBJ) -lversion $(LDLIBS) |
||
300 | |||
301 | libunzip32.a: $(OBJB) |
||
302 | $(AR) -rus $@ $(OBJB) |
||
303 | |||
304 | |||
305 | # create/update the library for the optional bzip2 support: |
||
306 | $(IZ_BZIP2)/libbz2.a: FORCE |
||
307 | $(subst /,\,$(MAKE)) -C $(IZ_BZIP2) -f Makebz2.iz CC="$(CC)" RM="$(RM)" |
||
308 | FORCE: |
||
309 | |||
310 | # How to compile sources |
||
311 | .c$(OBJ): |
||
312 | $(CC) $(CFLAGS) $(CVER) $(GENFLAGS) $< |
||
313 | .S$(OBJ): |
||
314 | $(AS) $(ASFLAGS) $(ASVER) $(GENFLAGS) $< |
||
315 | |||
316 | # Dependencies |
||
317 | crc32$(OBJ): crc32.c $(UNZIP_H) zip.h crc32.h |
||
318 | crypt$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h |
||
319 | envargs$(OBJ): envargs.c $(UNZIP_H) |
||
320 | explode$(OBJ): explode.c $(UNZIP_H) |
||
321 | extract$(OBJ): extract.c $(UNZIP_H) crc32.h crypt.h |
||
322 | fileio$(OBJ): fileio.c $(UNZIP_H) crc32.h crypt.h ttyio.h ebcdic.h |
||
323 | funzip$(OBJ): funzip.c $(UNZIP_H) crc32.h crypt.h ttyio.h |
||
324 | globals$(OBJ): globals.c $(UNZIP_H) |
||
325 | inflate$(OBJ): inflate.c inflate.h $(UNZIP_H) |
||
326 | list$(OBJ): list.c $(UNZIP_H) |
||
327 | match$(OBJ): match.c $(UNZIP_H) |
||
328 | process$(OBJ): process.c $(UNZIP_H) crc32.h |
||
329 | ttyio$(OBJ): ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h |
||
330 | ubz2err$(OBJ): ubz2err.c $(UNZIP_H) |
||
331 | unreduce$(OBJ): unreduce.c $(UNZIP_H) |
||
332 | unshrink$(OBJ): unshrink.c $(UNZIP_H) |
||
333 | unzip$(OBJ): unzip.c $(UNZIP_H) crypt.h unzvers.h consts.h |
||
334 | zipinfo$(OBJ): zipinfo.c $(UNZIP_H) |
||
335 | crc_i386$(OBJ): crc_i386.S |
||
336 | |||
337 | |||
338 | kos32$(OBJ): kolibri/kos32.c kolibri/kos32sys1.h |
||
339 | $(CC) $(CFLAGS) $(CVER) $(GENFLAGS) -I. $< |
||
340 | dirent$(OBJ): kolibri/dirent.c kolibri/kos32sys1.h |
||
341 | $(CC) $(CFLAGS) $(CVER) $(GENFLAGS) -I. $< |
||
342 | ###win32$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h |
||
343 | ### $(CC) $(CFLAGS) $(CVER) $(GENFLAGS) -I. $< |
||
344 | |||
345 | ###win32i64$(OBJ): win32/win32i64.c $(UNZIP_H) |
||
346 | ### $(CC) $(CFLAGS) $(CVER) $(GENFLAGS) -I. $< |
||
347 | |||
348 | ###nt$(OBJ): win32/nt.c $(UNZIP_H) win32/nt.h |
||
349 | ### $(CC) $(CFLAGS) $(CVER) $(GENFLAGS) -I. $< |
||
350 | |||
351 | ###winapprc$(OBJ): win32/winapp.rc unzvers.h |
||
352 | ### - $(RC) -o $@ $< |
||
353 | |||
354 | # UnZipSFX compilation section |
||
355 | crc32x$(OBJ): crc32.c $(UNZIP_H) zip.h crc32.h |
||
356 | $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $< |
||
357 | |||
358 | cryptx$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h |
||
359 | $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $< |
||
360 | |||
361 | extractx$(OBJ): extract.c $(UNZIP_H) crc32.h crypt.h |
||
362 | $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $< |
||
363 | |||
364 | fileiox$(OBJ): fileio.c $(UNZIP_H) crc32.h crypt.h ttyio.h ebcdic.h |
||
365 | $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $< |
||
366 | |||
367 | globalsx$(OBJ): globals.c $(UNZIP_H) |
||
368 | $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $< |
||
369 | |||
370 | inflatex$(OBJ): inflate.c inflate.h $(UNZIP_H) crypt.h |
||
371 | $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $< |
||
372 | |||
373 | matchx$(OBJ): match.c $(UNZIP_H) |
||
374 | $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $< |
||
375 | |||
376 | processx$(OBJ): process.c $(UNZIP_H) crc32.h |
||
377 | $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $< |
||
378 | |||
379 | ttyiox$(OBJ): ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h |
||
380 | $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $< |
||
381 | |||
382 | ubz2errx$(OBJ): ubz2err.c $(UNZIP_H) |
||
383 | $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $< |
||
384 | |||
385 | unzipsfx$(OBJ): unzip.c $(UNZIP_H) crypt.h unzvers.h consts.h |
||
386 | $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) $< |
||
387 | |||
388 | win32x$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h |
||
389 | $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) -I. $< |
||
390 | |||
391 | win32i64x$(OBJ): win32/win32i64.c $(UNZIP_H) |
||
392 | $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) -I. $< |
||
393 | |||
394 | ntx$(OBJ): win32/nt.c $(UNZIP_H) win32/nt.h |
||
395 | $(CC) $(CFLAGS) $(CVER) $(SFXFLAGS) -I. $< |
||
396 | |||
397 | # fUnZip compilation section |
||
398 | cryptf$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h |
||
399 | $(CC) $(CFLAGS) $(CVER) $(FFLAGS) $< |
||
400 | |||
401 | globalsf$(OBJ): globals.c $(UNZIP_H) |
||
402 | $(CC) $(CFLAGS) $(CVER) $(FFLAGS) $< |
||
403 | |||
404 | inflatef$(OBJ): inflate.c inflate.h $(UNZIP_H) crypt.h |
||
405 | $(CC) $(CFLAGS) $(CVER) $(FFLAGS) $< |
||
406 | |||
407 | ttyiof$(OBJ): ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h |
||
408 | $(CC) $(CFLAGS) $(CVER) $(FFLAGS) $< |
||
409 | |||
410 | win32f$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h |
||
411 | $(CC) $(CFLAGS) $(CVER) $(FFLAGS) -I. $< |
||
412 | |||
413 | win32i64f$(OBJ): win32/win32i64.c $(UNZIP_H) |
||
414 | $(CC) $(CFLAGS) $(CVER) $(FFLAGS) -I. $< |
||
415 | |||
416 | # WINDLL sample |
||
417 | uzexampl$(OBJ): windll/uzexampl.c windll/uzexampl.h |
||
418 | $(CC) $(CFLAGS) $(CVER) $(GENFLAGS) -I. $< |
||
419 | |||
420 | # DLL compilation section |
||
421 | api$(OBJ): api.c $(UNZIP_H) $(WINDLL_H) unzvers.h |
||
422 | $(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $< |
||
423 | |||
424 | crc32l$(OBJ): crc32.c $(UNZIP_H) zip.h crc32.h |
||
425 | $(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $< |
||
426 | |||
427 | cryptl$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h |
||
428 | $(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $< |
||
429 | |||
430 | explodel$(OBJ): explode.c $(UNZIP_H) |
||
431 | $(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $< |
||
432 | |||
433 | extractl$(OBJ): extract.c $(UNZIP_H) $(WINDLL_H) crc32.h crypt.h |
||
434 | $(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $< |
||
435 | |||
436 | fileiol$(OBJ): fileio.c $(UNZIP_H) $(WINDLL_H) crc32.h crypt.h ttyio.h ebcdic.h |
||
437 | $(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $< |
||
438 | |||
439 | globalsl$(OBJ): globals.c $(UNZIP_H) |
||
440 | $(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $< |
||
441 | |||
442 | inflatel$(OBJ): inflate.c inflate.h $(UNZIP_H) crypt.h |
||
443 | $(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $< |
||
444 | |||
445 | listl$(OBJ): list.c $(UNZIP_H) $(WINDLL_H) |
||
446 | $(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $< |
||
447 | |||
448 | matchl$(OBJ): match.c $(UNZIP_H) |
||
449 | $(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $< |
||
450 | |||
451 | processl$(OBJ): process.c $(UNZIP_H) $(WINDLL_H) crc32.h |
||
452 | $(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $< |
||
453 | |||
454 | ubz2errl$(OBJ): ubz2err.c $(UNZIP_H) |
||
455 | $(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $< |
||
456 | |||
457 | unreducl$(OBJ): unreduce.c $(UNZIP_H) |
||
458 | $(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $< |
||
459 | |||
460 | unshrnkl$(OBJ): unshrink.c $(UNZIP_H) |
||
461 | $(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $< |
||
462 | |||
463 | zipinfol$(OBJ): zipinfo.c $(UNZIP_H) |
||
464 | $(CC) $(CFLAGS) $(CVER) $(GENDLLFL) $< |
||
465 | |||
466 | win32l$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h |
||
467 | $(CC) $(CFLAGS) $(CVER) $(GENDLLFL) -I. $< |
||
468 | |||
469 | win32i64l$(OBJ): win32/win32i64.c $(UNZIP_H) |
||
470 | $(CC) $(CFLAGS) $(CVER) $(GENDLLFL) -I. $< |
||
471 | |||
472 | ntl$(OBJ): win32/nt.c $(UNZIP_H) win32/nt.h |
||
473 | $(CC) $(CFLAGS) $(CVER) $(GENDLLFL) -I. $< |
||
474 | |||
475 | windll$(OBJ): windll/windll.c $(UNZIP_H) $(WINDLL_H) crypt.h unzvers.h consts.h |
||
476 | $(CC) $(CFLAGS) $(CVER) $(GENDLLFL) -I. $< |
||
477 | |||
478 | windllrc$(OBJ): windll/windll.rc unzvers.h |
||
479 | - $(RC) -o $@ $< |
||
480 | |||
481 | # SFX Lib compilation section |
||
482 | apig$(OBJ): api.c $(UNZIP_H) $(WINDLL_H) unzvers.h |
||
483 | $(CC) $(CFLAGS) $(CVER) $(GENGUILB) $< |
||
484 | |||
485 | crc32g$(OBJ): crc32.c $(UNZIP_H) zip.h crc32.h |
||
486 | $(CC) $(CFLAGS) $(CVER) $(GENGUILB) $< |
||
487 | |||
488 | cryptg$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h |
||
489 | $(CC) $(CFLAGS) $(CVER) $(GENGUILB) $< |
||
490 | |||
491 | extractg$(OBJ): extract.c $(UNZIP_H) $(WINDLL_H) crc32.h crypt.h |
||
492 | $(CC) $(CFLAGS) $(CVER) $(GENGUILB) $< |
||
493 | |||
494 | fileiog$(OBJ): fileio.c $(UNZIP_H) $(WINDLL_H) crc32.h crypt.h ttyio.h ebcdic.h |
||
495 | $(CC) $(CFLAGS) $(CVER) $(GENGUILB) $< |
||
496 | |||
497 | globalsg$(OBJ): globals.c $(UNZIP_H) |
||
498 | $(CC) $(CFLAGS) $(CVER) $(GENGUILB) $< |
||
499 | |||
500 | inflateg$(OBJ): inflate.c inflate.h $(UNZIP_H) |
||
501 | $(CC) $(CFLAGS) $(CVER) $(GENGUILB) $< |
||
502 | |||
503 | matchg$(OBJ): match.c $(UNZIP_H) |
||
504 | $(CC) $(CFLAGS) $(CVER) $(GENGUILB) $< |
||
505 | |||
506 | processg$(OBJ): process.c $(UNZIP_H) $(WINDLL_H) crc32.h |
||
507 | $(CC) $(CFLAGS) $(CVER) $(GENGUILB) $< |
||
508 | |||
509 | ubz2errg$(OBJ): ubz2err.c $(UNZIP_H) |
||
510 | $(CC) $(CFLAGS) $(CVER) $(GENGUILB) $< |
||
511 | |||
512 | win32g$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h |
||
513 | $(CC) $(CFLAGS) $(CVER) $(GENGUILB) -I. $< |
||
514 | |||
515 | win32i64g$(OBJ): win32/win32i64.c $(UNZIP_H) |
||
516 | $(CC) $(CFLAGS) $(CVER) $(GENGUILB) -I. $< |
||
517 | |||
518 | ntg$(OBJ): win32/nt.c $(UNZIP_H) win32/nt.h |
||
519 | $(CC) $(CFLAGS) $(CVER) $(GENGUILB) -I. $< |
||
520 | |||
521 | windllg$(OBJ): windll/windll.c $(UNZIP_H) $(WINDLL_H) crypt.h unzvers.h consts.h |
||
522 | $(CC) $(CFLAGS) $(CVER) $(GENGUILB) -I. $< |
||
523 | |||
524 | sfxwiz$(OBJ): windll/guisfx/sfxwiz.c windll/guisfx/dialog.h $(WINDLL_IMP_H) |
||
525 | $(CC) $(CFLAGS) $(CVER) $(GENGUISX) -I. $< |
||
526 | |||
527 | sfxwizrc$(OBJ): windll/guisfx/sfxwiz.rc |
||
528 | - $(RC) --include-dir windll/guisfx --define WIN32 -o$@ $< |
||
529 | |||
530 | # Static LIB compilation section |
||
531 | apib$(OBJ): api.c $(UNZIP_H) $(WINDLL_H) unzvers.h |
||
532 | $(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $< |
||
533 | |||
534 | crc32b$(OBJ): crc32.c $(UNZIP_H) zip.h crc32.h |
||
535 | $(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $< |
||
536 | |||
537 | cryptb$(OBJ): crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h |
||
538 | $(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $< |
||
539 | |||
540 | explodeb$(OBJ): explode.c $(UNZIP_H) |
||
541 | $(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $< |
||
542 | |||
543 | extractb$(OBJ): extract.c $(UNZIP_H) crc32.h crypt.h |
||
544 | $(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $< |
||
545 | |||
546 | fileiob$(OBJ): fileio.c $(UNZIP_H) crc32.h crypt.h ttyio.h ebcdic.h |
||
547 | $(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $< |
||
548 | |||
549 | globalsb$(OBJ): globals.c $(UNZIP_H) |
||
550 | $(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $< |
||
551 | |||
552 | inflateb$(OBJ): inflate.c inflate.h $(UNZIP_H) crypt.h |
||
553 | $(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $< |
||
554 | |||
555 | listb$(OBJ): list.c $(UNZIP_H) $(WINDLL_H) |
||
556 | $(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $< |
||
557 | |||
558 | matchb$(OBJ): match.c $(UNZIP_H) |
||
559 | $(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $< |
||
560 | |||
561 | processb$(OBJ): process.c $(UNZIP_H) crc32.h |
||
562 | $(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $< |
||
563 | |||
564 | ubz2errb$(OBJ): ubz2err.c $(UNZIP_H) |
||
565 | $(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $< |
||
566 | |||
567 | unreducb$(OBJ): unreduce.c $(UNZIP_H) |
||
568 | $(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $< |
||
569 | |||
570 | unshrnkb$(OBJ): unshrink.c $(UNZIP_H) |
||
571 | $(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $< |
||
572 | |||
573 | zipinfob$(OBJ): zipinfo.c $(UNZIP_H) |
||
574 | $(CC) $(CFLAGS) $(CVER) $(GENLIBFL) $< |
||
575 | |||
576 | win32b$(OBJ): win32/win32.c $(UNZIP_H) win32/nt.h |
||
577 | $(CC) $(CFLAGS) $(CVER) $(GENLIBFL) -I. $< |
||
578 | |||
579 | win32i64b$(OBJ): win32/win32i64.c $(UNZIP_H) |
||
580 | $(CC) $(CFLAGS) $(CVER) $(GENLIBFL) -I. $< |
||
581 | |||
582 | ntb$(OBJ): win32/nt.c $(UNZIP_H) win32/nt.h |
||
583 | $(CC) $(CFLAGS) $(CVER) $(GENLIBFL) -I. $< |
||
584 | |||
585 | windllb$(OBJ): windll/windll.c $(UNZIP_H) $(WINDLL_H) crypt.h unzvers.h consts.h |
||
586 | $(CC) $(CFLAGS) $(CVER) $(GENLIBFL) -I. $< |
||
587 | |||
588 | clean: |
||
589 | -$(subst /,\,$(MAKE)) -C $(IZ_BZIP2) -f Makebz2.iz RM="$(RM)" clean |
||
590 | -$(RM) *$(OBJ) |
||
591 | -$(RM) unzip$(EXE) funzip$(EXE) unzipsfx$(EXE) |
||
592 | -$(RM) unzip32.dll uzexampl$(EXE) SFXWiz32$(EXE) |
||
593 | -$(RM) libunzip32.a libunzsfx32.a |