]>
Commit | Line | Data |
---|---|---|
1 | # Makefile for UnZip(SFX) and fUnZip for Borland C++ for Windows 95/NT | |
2 | # Version: 5.4 and later Alvin Koh, Jim Knoble, Christian Spieler, etc. | |
3 | # Adapted from the MS-DOS makefile by E-Yen Tan | |
4 | # | |
5 | # Last revised: 24 Nov 98 | |
6 | # | |
7 | # | |
8 | ||
9 | ||
10 | # Optional nonstandard preprocessor flags (as -DCHECK_EOF or -DDOS_WILD) | |
11 | # should be added to the environment via "set LOCAL_UNZIP=-DFOO" or added | |
12 | # to the declaration of LOC here: | |
13 | LOC = $(LOCAL_UNZIP) | |
14 | ||
15 | # Type for CPU required: 0: 8086, 1: 80186, 2: 80286, 3: 80386, etc. | |
16 | CPU_TYP = 4 | |
17 | ||
18 | # (De)Select inclusion of optimized assembler CRC32 routine: | |
19 | USE_ASMCRC = 0 | |
20 | ||
21 | # If you have bcc32i, you should define: | |
22 | # CC = bcc32i | |
23 | # This compiler generates a faster code. | |
24 | CC = bcc32 | |
25 | AS = tasm32 | |
26 | ||
27 | !if $(USE_ASMCRC) | |
28 | ASMFLG = -DASM_CRC | |
29 | ASMOBJS = crc_i386.obj | |
30 | !else | |
31 | ASMFLG = | |
32 | ASMOBJS = | |
33 | !endif | |
34 | ||
35 | !if $(UNCLEAN) | |
36 | DIRT = -DUSE_SMITH_CODE -DUSE_UNSHRINK | |
37 | !else | |
38 | DIRT = | |
39 | !endif | |
40 | ||
41 | # compiler flags | |
42 | ||
43 | ASCPUFLAG = __$(CPU_TYP)86 | |
44 | !if $(CPU_TYP) != 0 | |
45 | CC_CPUFLG = -$(CPU_TYP) | |
46 | !endif | |
47 | ASFLAGS = -ml -m2 -w0 -D$(ASCPUFLAG) $(LOC) | |
48 | CFLAGS = -O2 -w- $(CC_CPUFLG) -ff- -k- -P-.C -I. -I.. -I..\inczip -DWIN32 $(ASMFLG) $(LOC) $(DIRT) | |
49 | LDFLAGS = -lxncd -l-P # for bcc | |
50 | UNFLAGS = $(CFLAGS) | |
51 | ||
52 | # implicit rules | |
53 | ||
54 | .asm.obj: | |
55 | $(AS) $(ASFLAGS) $< | |
56 | ||
57 | .c.obj: | |
58 | $(CC) -c $(UNFLAGS) {$< } | |
59 | ||
60 | # list macros | |
61 | ||
62 | OBJU1 = unzip.obj crc32.obj crctab.obj crypt.obj envargs.obj explode.obj | |
63 | OBJU2 = extract.obj fileio.obj globals.obj inflate.obj list.obj match.obj | |
64 | OBJU3 = process.obj ttyio.obj unreduce.obj unshrink.obj zipinfo.obj | |
65 | OBJUS = win32.obj nt.obj $(ASMOBJS) packinst.obj | |
66 | OBJU = $(OBJU1) $(OBJU2) $(OBJU3) $(OBJUS) | |
67 | ||
68 | UNZIP_H = ..\inczip\unzip.h ..\inczip\unzpriv.h ..\inczip\globals.h ..\inczip\w32cfg.h | |
69 | ||
70 | # explicit rules | |
71 | ||
72 | all: packinst.exe | |
73 | ||
74 | packinst.exe: $(OBJU) | |
75 | $(CC) $(LDFLAGS) -epackinst.exe @&&| | |
76 | $(OBJU) | |
77 | | | |
78 | ||
79 | clean: | |
80 | -erase *.obj | |
81 | -erase *.exe | |
82 | -erase *.res | |
83 | -erase *.map | |
84 | -erase *.rws | |
85 | -erase *.tds | |
86 | -erase *.il? | |
87 | ||
88 | # individual file dependencies | |
89 | ||
90 | crc32.obj: crc32.c $(UNZIP_H) ..\inczip\zip.h | |
91 | crctab.obj: crctab.c $(UNZIP_H) ..\inczip\zip.h | |
92 | crypt.obj: crypt.c $(UNZIP_H) ..\inczip\zip.h ..\inczip\crypt.h ..\inczip\ttyio.h | |
93 | envargs.obj: envargs.c $(UNZIP_H) | |
94 | explode.obj: explode.c $(UNZIP_H) | |
95 | extract.obj: extract.c $(UNZIP_H) ..\inczip\crypt.h | |
96 | fileio.obj: fileio.c $(UNZIP_H) ..\inczip\crypt.h ..\inczip\ttyio.h ..\inczip\ebcdic.h | |
97 | globals.obj: globals.c $(UNZIP_H) | |
98 | inflate.obj: inflate.c ..\inczip\inflate.h $(UNZIP_H) | |
99 | list.obj: list.c $(UNZIP_H) | |
100 | match.obj: match.c $(UNZIP_H) | |
101 | process.obj: process.c $(UNZIP_H) | |
102 | ttyio.obj: ttyio.c $(UNZIP_H) ..\inczip\zip.h ..\inczip\crypt.h ..\inczip\ttyio.h | |
103 | unreduce.obj: unreduce.c $(UNZIP_H) | |
104 | unshrink.obj: unshrink.c $(UNZIP_H) | |
105 | unzip.obj: unzip.c $(UNZIP_H) ..\inczip\crypt.h ..\inczip\version.h ..\inczip\consts.h | |
106 | zipinfo.obj: zipinfo.c $(UNZIP_H) | |
107 | ||
108 | crc_i386.obj: crc_i386.asm | |
109 | $(AS) $(ASFLAGS) crc_i386.asm, $*.obj ; | |
110 | ||
111 | win32.obj: win32.c $(UNZIP_H) | |
112 | $(CC) -c $(UNFLAGS) win32.c | |
113 | ||
114 | packinst.obj: ..\packinst\packinst.c $(UNZIP_H) | |
115 | $(CC) -c $(UNFLAGS) ..\packinst\packinst.c | |
116 | ||
117 | nt.obj: nt.c $(UNZIP_H) | |
118 | $(CC) -c $(UNFLAGS) nt.c |