Subversion Repositories Kolibri OS

Rev

Rev 6745 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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