]>
Commit | Line | Data |
---|---|---|
f6bcfd97 BP |
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 <cosmint@cs.ubbcluj.ro>, Dec 1997. | |
5 | # Last revision: Christian Spieler, 29-Apr-1998 | |
6 | # | |
7 | # To use, do "make -f win32/makefile.gcc". | |
8 | ||
9 | ||
10 | ### Optional section | |
11 | ||
12 | # Optional nonstandard preprocessor flags (as -DUSE_ZLIB or -DUSE_SMITH_CODE) | |
13 | # should be added to the environment via "set LOCAL_UNZIP=-DFOO" or added | |
14 | # to the declaration of LOCFLAGS here: | |
15 | LOCFLAGS = $(LOCAL_UNZIP) | |
16 | ||
17 | ||
18 | ### Compiler-specific section | |
19 | ||
20 | # ------------ GNU C ------------ | |
21 | CC = gcc | |
22 | ||
23 | #AS = as | |
24 | AS = $(CC) | |
25 | ||
26 | #LD = ld | |
27 | LD = $(CC) | |
28 | ||
29 | # Quiet | |
30 | CC_QUIET_OPT = | |
31 | AS_QUIET_OPT = $(CC_QUIET_OPT) | |
32 | LD_QUIET_OPT = $(CC_QUIET_OPT) | |
33 | ||
34 | # Warnings | |
35 | CC_WARN_OPT = -Wall | |
36 | AS_WARN_OPT = $(CC_WARN_OPT) | |
37 | LD_WARN_OPT = | |
38 | ||
39 | # Debug version | |
40 | CC_DEBUG_OPT = -g | |
41 | AS_DEBUG_OPT = $(CC_DEBUG_OPT) | |
42 | LD_DEBUG_OPT = $(CC_DEBUG_OPT) | |
43 | ||
44 | # Release version | |
45 | CC_RELEASE_OPT = | |
46 | AS_RELEASE_OPT = | |
47 | LD_RELEASE_OPT = -s | |
48 | ||
49 | # Smallest code | |
50 | CC_SIZE_OPT = -O1 | |
51 | ||
52 | # Fastest code | |
53 | CC_SPEED_OPT = -O2 | |
54 | ||
55 | # Output object file name | |
56 | CC_OUT_OPT = -o | |
57 | ||
58 | # Other specific options | |
59 | #CC_SPECIFIC_OPT = -c -DASM_CRC -DWIN32 -mno-cygwin | |
60 | CC_SPECIFIC_OPT = -c -DWIN32 -mno-cygwin -I../inczip | |
61 | AS_SPECIFIC_OPT = -c | |
62 | LD_SPECIFIC_OPT = -mno-cygwin -o $@ | |
63 | ||
64 | # Libraries for the debug & release version | |
65 | LD_RELEASE_LIBS = -luser32 -ladvapi32 | |
66 | LD_DEBUG_LIBS = $(LD_RELEASE_LIBS) | |
67 | ||
68 | ||
69 | ### System-specific section | |
70 | ||
71 | # Suffixes | |
72 | OBJ = .o | |
73 | EXE = .exe | |
74 | ||
75 | .SUFFIXES: .c .S $(OBJ) $(EXE) | |
76 | ||
77 | # Commands | |
78 | RM = rm -f | |
79 | ||
80 | ||
81 | ### General section | |
82 | ||
83 | CFLAGS = $(CC_SPECIFIC_OPT) $(CC_QUIET_OPT) $(CC_WARN_OPT) $(LOCFLAGS) \ | |
84 | $(CC_OUT_OPT) $@ | |
85 | ASFLAGS = $(AS_SPECIFIC_OPT) $(AS_QUIET_OPT) $(AS_WARN_OPT) $(LOCFLAGS) | |
86 | LDFLAGS = $(LD_SPECIFIC_OPT) $(LD_QUIET_OPT) $(LD_WARN_OPT) | |
87 | ||
88 | # To build with debug info, use 'make DEBUG=1'. | |
89 | ifdef DEBUG | |
90 | CVER = $(CC_DEBUG_OPT) | |
91 | ASVER = $(AS_DEBUG_OPT) | |
92 | LDVER = $(LD_DEBUG_OPT) | |
93 | GENFLAGS = | |
94 | FFLAGS = -DFUNZIP | |
95 | SFXFLAGS = -DSFX | |
96 | LDLIBS = $(LD_DEBUG_LIBS) | |
97 | else | |
98 | CVER = $(CC_RELEASE_OPT) | |
99 | ASVER = $(AS_RELEASE_OPT) | |
100 | LDVER = $(LD_RELEASE_OPT) | |
101 | GENFLAGS = $(CC_SPEED_OPT) | |
102 | FFLAGS = $(CC_SPEED_OPT) -DFUNZIP | |
103 | SFXFLAGS = $(CC_SIZE_OPT) -DSFX | |
104 | LDLIBS = $(LD_RELEASE_LIBS) | |
105 | endif | |
106 | ||
107 | # Object files | |
108 | OBJA = crc_i386$(OBJ) packinst$(OBJ) | |
109 | OBJS1 = unzip$(OBJ) crc32$(OBJ) crctab$(OBJ) crypt$(OBJ) envargs$(OBJ) | |
110 | OBJS2 = explode$(OBJ) extract$(OBJ) fileio$(OBJ) globals$(OBJ) inflate$(OBJ) | |
111 | OBJS3 = list$(OBJ) match$(OBJ) process$(OBJ) ttyio$(OBJ) unreduce$(OBJ) | |
112 | OBJS4 = unshrink$(OBJ) zipinfo$(OBJ) win32$(OBJ) nt$(OBJ) | |
113 | OBJS = $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(OBJA) | |
114 | ||
115 | UNZIP_H = ../inczip/unzip.h ../inczip/unzpriv.h ../inczip/globals.h ../inczip/w32cfg.h | |
116 | ||
117 | ||
118 | # Default target is all the executables | |
119 | unzips: packinst$(EXE) | |
120 | ||
121 | packinst$(EXE): $(OBJS) | |
122 | $(LD) $(LDFLAGS) $(LDVER) $(OBJS) $(LDLIBS) | |
123 | ||
124 | # How to compile sources | |
125 | .c$(OBJ): | |
126 | $(CC) $(CFLAGS) $(CVER) $(GENFLAGS) $< | |
127 | .S$(OBJ): | |
128 | $(AS) $(ASFLAGS) $(ASVER) $(GENFLAGS) $< | |
129 | ||
130 | # Dependencies | |
131 | crc32$(OBJ): crc32.c $(UNZIP_H) ../inczip/zip.h | |
132 | crctab$(OBJ): crctab.c $(UNZIP_H) ../inczip/zip.h | |
133 | crypt$(OBJ): crypt.c $(UNZIP_H) ../inczip/zip.h ../inczip/crypt.h ../inczip/ttyio.h | |
134 | envargs$(OBJ): envargs.c $(UNZIP_H) | |
135 | explode$(OBJ): explode.c $(UNZIP_H) | |
136 | extract$(OBJ): extract.c $(UNZIP_H) ../inczip/crypt.h | |
137 | fileio$(OBJ): fileio.c $(UNZIP_H) ../inczip/crypt.h ../inczip/ttyio.h ../inczip/ebcdic.h | |
138 | funzip$(OBJ): funzip.c $(UNZIP_H) ../inczip/crypt.h ../inczip/ttyio.h ../inczip/tables.h | |
139 | globals$(OBJ): globals.c $(UNZIP_H) | |
140 | inflate$(OBJ): inflate.c ../inczip/inflate.h $(UNZIP_H) | |
141 | list$(OBJ): list.c $(UNZIP_H) | |
142 | match$(OBJ): match.c $(UNZIP_H) | |
143 | process$(OBJ): process.c $(UNZIP_H) | |
144 | ttyio$(OBJ): ttyio.c $(UNZIP_H) ../inczip/zip.h ../inczip/crypt.h ../inczip/ttyio.h | |
145 | unreduce$(OBJ): unreduce.c $(UNZIP_H) | |
146 | unshrink$(OBJ): unshrink.c $(UNZIP_H) | |
147 | unzip$(OBJ): unzip.c $(UNZIP_H) ../inczip/crypt.h ../inczip/version.h ../inczip/consts.h | |
148 | zipinfo$(OBJ): zipinfo.c $(UNZIP_H) | |
149 | crc_i386$(OBJ): crc_i386.S | |
150 | win32$(OBJ): win32.c $(UNZIP_H) ../inczip/nt.h | |
151 | nt$(OBJ): nt.c ../inczip/nt.h | |
152 | ||
153 | packinst$(OBJ): ../packinst/packinst.c | |
154 | $(CC) $(CFLAGS) $(CVER) $(GENFLAGS) $< | |
155 | ||
156 | clean: | |
157 | $(RM) *$(OBJ) | |
158 | $(RM) *$(EXE) |