Subversion Repositories Kolibri OS

Rev

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