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 using LCC-Win32.
2
# By E-Yen Tan (3 June 1998).
3
# Last updated 20 Jul 2008 (Christian Spieler).
4
#
5
# This version includes rules to build the 32-bit windll DLL.
6
 
7
# This compiler evaluates #include locations relative to current working dir,
8
# not relative to the location of the file containing the #include directive.
9
# As a consequence, a "-Iwin32" option is required to allow compilation of
10
# the WIN32 specific sources.
11
 
12
CC=lcc
13
CCFLAGS=-Zp8 -O -DWIN32 $(AS_FLAGS)
14
#DLLFLAG=
15
DLLFLAG=-DWINDLL -DDLL -I./windll
16
AS=lcc
17
ASFLAGS=
18
LD = lcclnk
19
#DLLLDFLAG=
20
DLLLDFLAG=-dll -entry DllMain
21
LDFLAGS=-s -o ./
22
LDFLAGS2=
23
OUT=-Fo
24
OBJ=.obj
25
 
26
CP=copy
27
RM=del
28
 
29
# Optional macros should be declared below.
30
# (LCC's Make is unable to read the LOCAL_UNZIP environment variable.)
31
LOC = $(ASMFLG)
32
 
33
# Options to select optimized assembler code for CRC32 calculation.
34
#ifdef NOASM
35
#ASMFLG=
36
#CRCA_O=
37
#CRCA_OF=
38
#CRCA_OL=
39
#CRCA_OG=
40
#CRCA_OX=
41
#else
42
ASMFLG=-DASM_CRC
43
CRCA_O=crc_lcc$(OBJ)
44
CRCA_OF=$(CRCA_O)
45
CRCA_OL=$(CRCA_O)
46
CRCA_OG=$(CRCA_O)
47
CRCA_OX=$(CRCA_O)
48
#endif
49
 
50
CFLAGS = $(CCFLAGS) $(LOC)
51
 
52
CFLAGS_UN = $(CFLAGS)
53
CFLAGS_SX = $(CFLAGS) -DSFX
54
CFLAGS_FU = $(CFLAGS) -DFUNZIP
55
CFLAGS_DL = $(CFLAGS) $(DLLFLAG)
56
CFLAGS_SL = $(CFLAGS) $(DLLFLAG) -DUNZIPLIB -DSFX
57
CFLAGS_GX = $(CFLAGS) -I./windll -I./windll/guisfx -DSFX
58
 
59
 
60
# The system specific files are defined here:
61
OBJUS=win32$(OBJ) win32i64$(OBJ) nt$(OBJ)
62
OBJXS=win32_$(OBJ) win32i64_$(OBJ) nt_$(OBJ)
63
OBJFS=win32f$(OBJ) win32i64f$(OBJ)
64
OBJDS=win32l$(OBJ) win32i64l$(OBJ) ntl$(OBJ)
65
OBLXS=win32g$(OBJ) win32i64g$(OBJ) ntg$(OBJ) windllg$(OBJ)
66
OSDEP_H=win32/w32cfg.h
67
WINDLL_H=windll/windll.h windll/structs.h windll/decs.h
68
DLLDEF=.\windll\windll_lc.def	# lcclink requires backslashes as dir-sep!!
69
WINDLL_IMP_H = windll/decs.h windll/structs.h
70
 
71
 
72
OBJU1 = unzip$(OBJ) crc32$(OBJ) $(CRCA_O) crypt$(OBJ) envargs$(OBJ)
73
OBJU2 = explode$(OBJ) extract$(OBJ) fileio$(OBJ) globals$(OBJ)
74
OBJU3 = inflate$(OBJ) list$(OBJ) match$(OBJ) process$(OBJ) ttyio$(OBJ)
75
OBJU4 = ubz2err$(OBJ) unreduce$(OBJ) unshrink$(OBJ) zipinfo$(OBJ)
76
OBJU  = $(OBJU1) $(OBJU2) $(OBJU3) $(OBJU4) $(OBJUS)
77
OBJX1 = unzipsf_$(OBJ) crc32_$(OBJ) $(CRCA_OX) crypt_$(OBJ)
78
OBJX2 = extract_$(OBJ) fileio_$(OBJ) globals_$(OBJ) inflate_$(OBJ)
79
OBJX3 = match_$(OBJ) process_$(OBJ) ttyio_$(OBJ) ubz2err_$(OBJ)
80
OBJX  = $(OBJX1) $(OBJX2) $(OBJX3) $(OBJXS)
81
OBJF  = funzip$(OBJ) crc32f$(OBJ) $(CRCA_OF) cryptf$(OBJ) inflatef$(OBJ) \
82
	globalsf$(OBJ) ttyiof$(OBJ) $(OBJFS)
83
OBJDLL = windll$(OBJ) windll32.res api$(OBJ)
84
OBJD1 = crc32l$(OBJ) $(CRCA_OL) cryptl$(OBJ)
85
OBJD2 = explodel$(OBJ) extractl$(OBJ) fileiol$(OBJ) globalsl$(OBJ)
86
OBJD3 = inflatel$(OBJ) listl$(OBJ) matchl$(OBJ) processl$(OBJ)
87
OBJD4 = ubz2errl$(OBJ) unreducl$(OBJ) unshrnkl$(OBJ) zipinfol$(OBJ)
88
OBJD  = $(OBJDLL) $(OBJD1) $(OBJD2) $(OBJD3) $(OBJD4) $(OBJDS)
89
OBLX1 = apig$(OBJ) crc32g$(OBJ) $(CRCA_OG) cryptg$(OBJ)
90
OBLX2 = extractg$(OBJ) fileiog$(OBJ) globalsg$(OBJ) inflateg$(OBJ)
91
OBLX3 = matchg$(OBJ) processg$(OBJ) ubz2errg$(OBJ)
92
OBLX  = $(OBLX1) $(OBLX2) $(OBLX3) $(OBLXS)
93
OBGX  = sfxwiz$(OBJ)
94
 
95
UNZIP_H = unzip.h unzpriv.h globals.h $(OSDEP_H)
96
 
97
# rules
98
 
99
.SUFFIXES: .c $(OBJ)
100
 
101
.c$(OBJ):
102
	$(CC) -c $(CFLAGS_UN) $(OUT)$@ $<
103
 
104
.asm$(OBJ):
105
	$(AS) $(ASFLAGS) $(OUT)$@ $<
106
 
107
# targets
108
 
109
unzips:	unzip.exe funzip.exe unzipsfx.exe
110
dll:	unzip32.dll
111
dllsample: uzexampl.exe
112
guisfx:	SFXWiz32.exe
113
all:	unzips dll dllsample guisfx
114
 
115
unzip.exe: $(OBJU) winapp.res
116
	$(LD) $(LDFLAGS)$@ $(DEF) $(OBJU) winapp.res $(LDFLAGS2)
117
 
118
funzip.exe: $(OBJF)
119
	$(LD) $(LDFLAGS)$@ $(DEF) $(OBJF) $(LDFLAGS2)
120
 
121
unzipsfx.exe:	$(OBJX)
122
	$(LD) $(LDFLAGS)$@ $(DEF) $(OBJX) $(LDFLAGS2)
123
 
124
unzip32.dll: $(DLLDEF) $(OBJD)
125
	$(LD) $(DLLLDFLAG) $(LDFLAGS)$@ $(DLLDEF) $(OBJD) $(LDFLAGS2)
126
 
127
unzsfx32.lib:	$(OBLX)
128
	lcclib $@ $(OBLX)
129
 
130
SFXWiz32.exe:	$(OBGX) sfxwiz.res unzsfx32.lib
131
	$(LD) -subsystem windows $(LDFLAGS)$@  \
132
		$(OBGX) sfxwiz.res unzsfx32.lib
133
 
134
uzexampl.exe: uzexampl$(OBJ)
135
	$(LD) $(LDFLAGS)$@ $(DEF) uzexampl$(OBJ) version.lib $(LDFLAGS2)
136
 
137
# dependencies
138
 
139
api$(OBJ):	api.c $(UNZIP_H) unzvers.h
140
apihelp$(OBJ):	apihelp.c $(UNZIP_H) unzvers.h
141
crc32$(OBJ):	crc32.c $(UNZIP_H) zip.h crc32.h
142
envargs$(OBJ):	envargs.c $(UNZIP_H)
143
explode$(OBJ):	explode.c $(UNZIP_H)
144
extract$(OBJ):	extract.c $(UNZIP_H) crc32.h crypt.h
145
fileio$(OBJ):	fileio.c $(UNZIP_H) crc32.h crypt.h ttyio.h ebcdic.h
146
globals$(OBJ):	globals.c $(UNZIP_H)
147
inflate$(OBJ):	inflate.c $(UNZIP_H)
148
list$(OBJ):	list.c $(UNZIP_H)
149
match$(OBJ):	match.c $(UNZIP_H)
150
process$(OBJ):	process.c $(UNZIP_H) crc32.h
151
ttyio$(OBJ):	ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h
152
ubz2err$(OBJ):	ubz2err.c $(UNZIP_H)
153
unreduce$(OBJ):	unreduce.c $(UNZIP_H)
154
unshrink$(OBJ):	unshrink.c $(UNZIP_H)
155
unzip$(OBJ):	unzip.c $(UNZIP_H) crypt.h unzvers.h consts.h
156
zipinfo$(OBJ):	zipinfo.c $(UNZIP_H)
157
 
158
funzip$(OBJ):	funzip.c $(UNZIP_H) crc32.h crypt.h ttyio.h
159
	$(CC) -c $(CFLAGS) $(OUT)$@ funzip.c
160
 
161
uzexampl$(OBJ):	windll/uzexampl.c windll/uzexampl.h
162
	$(CC) -c $(CFLAGS_UN) -I./windll $(OUT)$@ windll/uzexampl.c
163
 
164
win32$(OBJ):	win32/win32.c $(UNZIP_H) win32/nt.h unzvers.h
165
	$(CC) -c $(CFLAGS_UN) -Iwin32 $(OUT)$@ win32/win32.c
166
 
167
win32i64$(OBJ):	win32/win32i64.c $(UNZIP_H)
168
	$(CC) -c $(CFLAGS_UN) -Iwin32 $(OUT)$@ win32/win32i64.c
169
 
170
nt$(OBJ):	win32/nt.c $(UNZIP_H) win32/nt.h
171
	$(CC) -c $(CFLAGS_UN) -Iwin32 $(OUT)$@ win32/nt.c
172
 
173
crc_lcc$(OBJ):	win32/crc_lcc.asm
174
	$(AS) $(ASFLAGS) $(OUT)$@ win32/crc_lcc.asm
175
 
176
crypt$(OBJ):	crypt.c $(UNZIP_H) zip.h crypt.h ttyio.h
177
	$(CC) -c $(CFLAGS_UN) $(OUT)$@ crypt.c
178
 
179
winapp.res:	win32/winapp.rc unzvers.h
180
	- lrc -v -r -I./win32 -DWIN32 -o$@ win32/winapp.rc
181
 
182
crc32f$(OBJ):	crc32.c $(UNZIP_H) zip.h crc32.h
183
	$(CC) -c $(CFLAGS_FU) $(OUT)$@ crc32.c
184
 
185
cryptf$(OBJ):	crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h
186
	$(CC) -c $(CFLAGS_FU) $(OUT)$@ crypt.c
187
 
188
globalsf$(OBJ):	globals.c $(UNZIP_H)
189
	$(CC) -c $(CFLAGS_FU) $(OUT)$@ globals.c
190
 
191
inflatef$(OBJ):	inflate.c inflate.h $(UNZIP_H) crypt.h
192
	$(CC) -c $(CFLAGS_FU) $(OUT)$@ inflate.c
193
 
194
ttyiof$(OBJ):	ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h
195
	$(CC) -c $(CFLAGS_FU) $(OUT)$@ ttyio.c
196
 
197
win32f$(OBJ):	win32/win32.c $(UNZIP_H) win32/nt.h
198
	$(CC) -c $(CFLAGS_FU) -Iwin32 $(OUT)$@ win32/win32.c
199
 
200
win32i64f$(OBJ):	win32/win32i64.c $(UNZIP_H)
201
	$(CC) -c $(CFLAGS_FU) -Iwin32 $(OUT)$@ win32/win32i64.c
202
 
203
crc32_$(OBJ):	crc32.c $(UNZIP_H) zip.h crc32.h
204
	$(CC) -c $(CFLAGS_SX) $(OUT)$@ crc32.c
205
 
206
crypt_$(OBJ):	crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h
207
	$(CC) -c $(CFLAGS_SX) $(OUT)$@ crypt.c
208
 
209
extract_$(OBJ):	extract.c $(UNZIP_H) crc32.h crypt.h
210
	$(CC) -c $(CFLAGS_SX) $(OUT)$@ extract.c
211
 
212
fileio_$(OBJ):	fileio.c $(UNZIP_H) crc32.h crypt.h ttyio.h ebcdic.h
213
	$(CC) -c $(CFLAGS_SX) $(OUT)$@ fileio.c
214
 
215
globals_$(OBJ):	globals.c $(UNZIP_H)
216
	$(CC) -c $(CFLAGS_SX) $(OUT)$@ globals.c
217
 
218
inflate_$(OBJ):	inflate.c inflate.h $(UNZIP_H) crypt.h
219
	$(CC) -c $(CFLAGS_SX) $(OUT)$@ inflate.c
220
 
221
match_$(OBJ):	match.c $(UNZIP_H)
222
	$(CC) -c $(CFLAGS_SX) $(OUT)$@ match.c
223
 
224
process_$(OBJ):	process.c $(UNZIP_H) crc32.h
225
	$(CC) -c $(CFLAGS_SX) $(OUT)$@ process.c
226
 
227
ttyio_$(OBJ):	ttyio.c $(UNZIP_H) zip.h crypt.h ttyio.h
228
	$(CC) -c $(CFLAGS_SX) $(OUT)$@ ttyio.c
229
 
230
ubz2err_$(OBJ):	ubz2err.c $(UNZIP_H)
231
	$(CC) -c $(CFLAGS_SX) $(OUT)$@ ubz2err.c
232
 
233
unzipsf_$(OBJ):	unzip.c $(UNZIP_H) crypt.h unzvers.h consts.h
234
	$(CC) -c $(CFLAGS_SX) $(OUT)$@ unzip.c
235
 
236
win32_$(OBJ):	win32/win32.c $(UNZIP_H) win32/nt.h
237
	$(CC) -c $(CFLAGS_SX) -Iwin32 $(OUT)$@ win32/win32.c
238
 
239
win32i64_$(OBJ):	win32/win32i64.c $(UNZIP_H)
240
	$(CC) -c $(CFLAGS_SX) -Iwin32 $(OUT)$@ win32/win32i64.c
241
 
242
nt_$(OBJ):	win32/nt.c $(UNZIP_H) win32/nt.h
243
	$(CC) -c $(CFLAGS_SX) -Iwin32 $(OUT)$@ win32/nt.c
244
 
245
# DLL compilation section
246
api$(OBJ):	api.c $(UNZIP_H) $(WINDLL_H) unzvers.h
247
	$(CC) -c $(CFLAGS_DL) $(OUT)$@ api.c
248
 
249
crc32l$(OBJ):	crc32.c $(UNZIP_H) zip.h crc32.h
250
	$(CC) -c $(CFLAGS_DL) $(OUT)$@ crc32.c
251
 
252
cryptl$(OBJ):	crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h
253
	$(CC) -c $(CFLAGS_DL) $(OUT)$@ crypt.c
254
 
255
explodel$(OBJ):	explode.c $(UNZIP_H)
256
	$(CC) -c $(CFLAGS_DL) $(OUT)$@ explode.c
257
 
258
extractl$(OBJ):	extract.c $(UNZIP_H) crc32.h crypt.h
259
	$(CC) -c $(CFLAGS_DL) $(OUT)$@ extract.c
260
 
261
fileiol$(OBJ):	fileio.c $(UNZIP_H) crc32.h crypt.h ttyio.h ebcdic.h
262
	$(CC) -c $(CFLAGS_DL) $(OUT)$@ fileio.c
263
 
264
globalsl$(OBJ):	globals.c $(UNZIP_H)
265
	$(CC) -c $(CFLAGS_DL) $(OUT)$@ globals.c
266
 
267
inflatel$(OBJ):	inflate.c inflate.h $(UNZIP_H) crypt.h
268
	$(CC) -c $(CFLAGS_DL) $(OUT)$@ inflate.c
269
 
270
listl$(OBJ):	list.c $(UNZIP_H) $(WINDLL_H)
271
	$(CC) -c $(CFLAGS_DL) $(OUT)$@ list.c
272
 
273
matchl$(OBJ):	match.c $(UNZIP_H)
274
	$(CC) -c $(CFLAGS_DL) $(OUT)$@ match.c
275
 
276
processl$(OBJ):	process.c $(UNZIP_H) crc32.h
277
	$(CC) -c $(CFLAGS_DL) $(OUT)$@ process.c
278
 
279
ubz2errl$(OBJ):	ubz2err.c $(UNZIP_H)
280
	$(CC) -c $(CFLAGS_DL) $(OUT)$@ ubz2err.c
281
 
282
unreducl$(OBJ):	unreduce.c $(UNZIP_H)
283
	$(CC) -c $(CFLAGS_DL) $(OUT)$@ unreduce.c
284
 
285
unshrnkl$(OBJ):	unshrink.c $(UNZIP_H)
286
	$(CC) -c $(CFLAGS_DL) $(OUT)$@ unshrink.c
287
 
288
zipinfol$(OBJ):	zipinfo.c $(UNZIP_H)
289
	$(CC) -c $(CFLAGS_DL) $(OUT)$@ zipinfo.c
290
 
291
win32l$(OBJ):	win32/win32.c $(UNZIP_H) win32/nt.h
292
	$(CC) -c $(CFLAGS_DL) -Iwin32 $(OUT)$@ win32/win32.c
293
 
294
win32i64l$(OBJ):	win32/win32i64.c $(UNZIP_H)
295
	$(CC) -c $(CFLAGS_DL) -Iwin32 $(OUT)$@ win32/win32i64.c
296
 
297
ntl$(OBJ):	win32/nt.c $(UNZIP_H) win32/nt.h
298
	$(CC) -c $(CFLAGS_DL) -Iwin32 $(OUT)$@ win32/nt.c
299
 
300
windll$(OBJ): windll/windll.c $(UNZIP_H) $(WINDLL_H) crypt.h unzvers.h consts.h
301
	$(CC) -c $(CFLAGS_DL) $(OUT)$@ windll/windll.c
302
 
303
windll32.res:	windll/windll.rc unzvers.h
304
	- lrc -v -r $(DLLFLAG) -DWIN32 -o$@ windll/windll.rc
305
 
306
# SFX Lib compilation section
307
apig$(OBJ):	api.c $(UNZIP_H) $(WINDLL_H) unzvers.h
308
	$(CC) -c $(CFLAGS_SL) $(OUT)$@ api.c
309
 
310
crc32g$(OBJ):	crc32.c $(UNZIP_H) zip.h crc32.h
311
	$(CC) -c $(CFLAGS_SL) $(OUT)$@ crc32.c
312
 
313
cryptg$(OBJ):	crypt.c $(UNZIP_H) zip.h crypt.h crc32.h ttyio.h
314
	$(CC) -c $(CFLAGS_SL) $(OUT)$@ crypt.c
315
 
316
extractg$(OBJ):	extract.c $(UNZIP_H) $(WINDLL_H) crc32.h crypt.h
317
	$(CC) -c $(CFLAGS_SL) $(OUT)$@ extract.c
318
 
319
fileiog$(OBJ):	fileio.c $(UNZIP_H) $(WINDLL_H) crc32.h crypt.h ttyio.h ebcdic.h
320
	$(CC) -c $(CFLAGS_SL) $(OUT)$@ fileio.c
321
 
322
globalsg$(OBJ):	globals.c $(UNZIP_H)
323
	$(CC) -c $(CFLAGS_SL) $(OUT)$@ globals.c
324
 
325
inflateg$(OBJ):	inflate.c inflate.h $(UNZIP_H)
326
	$(CC) -c $(CFLAGS_SL) $(OUT)$@ inflate.c
327
 
328
matchg$(OBJ):	match.c $(UNZIP_H)
329
	$(CC) -c $(CFLAGS_SL) $(OUT)$@ match.c
330
 
331
processg$(OBJ):	process.c $(UNZIP_H) $(WINDLL_H) crc32.h
332
	$(CC) -c $(CFLAGS_SL) $(OUT)$@ process.c
333
 
334
ubz2errg$(OBJ):	ubz2err.c $(UNZIP_H)
335
	$(CC) -c $(CFLAGS_SL) $(OUT)$@ ubz2err.c
336
 
337
win32g$(OBJ):	win32/win32.c $(UNZIP_H) win32/nt.h
338
	$(CC) -c $(CFLAGS_SL) -Iwin32 $(OUT)$@ win32/win32.c
339
 
340
win32i64g$(OBJ):	win32/win32i64.c $(UNZIP_H)
341
	$(CC) -c $(CFLAGS_SL) -Iwin32 $(OUT)$@ win32/win32i64.c
342
 
343
ntg$(OBJ):	win32/nt.c $(UNZIP_H) win32/nt.h
344
	$(CC) -c $(CFLAGS_SL) -Iwin32 $(OUT)$@ win32/nt.c
345
 
346
windllg$(OBJ):  windll/windll.c $(UNZIP_H) $(WINDLL_H) crypt.h unzvers.h consts.h
347
	$(CC) -c $(CFLAGS_SL) $(OUT)$@ windll/windll.c
348
 
349
sfxwiz$(OBJ):	windll/guisfx/sfxwiz.c windll/guisfx/dialog.h $(WINDLL_IMP_H)
350
	$(CC) -c $(CFLAGS_GX) $(OUT)$@ windll/guisfx/sfxwiz.c
351
 
352
sfxwiz.res:	windll/guisfx/sfxwiz.rc
353
	- lrc -v -r -Iwindll/guisfx -DWIN32 -o$@ windll/guisfx/sfxwiz.rc