1# Makefile for Zip, ZipCloak, ZipNote and ZipSplit
2# for djgpp 2.01 and RSXNTDJ 1.3.1 under Windows 95 / Windows NT
3# Derived from makefile.os2 by E-Yen Tan. Last updated 07 Jan 2007.
4
5CC = gcc -O2 -m486 -Wall -Zwin32
6CFLAGS = -DWIN32 -DASM_CRC $(LOCAL_ZIP)
7AS = gcc
8ASFLAGS = -Di386
9LDFLAGS = -o ./
10LDFLAGS2 =
11OBJ=.o
12
13CRC32=crc_gcc
14OBJA    = matchgcc.o
15OBJZS   = win32.o win32zip.o nt.o
16OBJUS   = win32_.o
17OSDEP_H = win32/osdep.h
18
19ADVAPI32 = adv32
20ADVAPI32LIB = lib$(ADVAPI32).a
21L_ADVAPI32 = -l$(ADVAPI32)
22
23OBJZ1 = zip$(OBJ) zipfile$(OBJ) zipup$(OBJ) fileio$(OBJ) util$(OBJ) \
24	crc32$(OBJ) $(CRCA_O)
25OBJZ2 = globals$(OBJ) deflate$(OBJ) trees$(OBJ) crypt$(OBJ) \
26	ttyio$(OBJ)
27OBJZ  = $(OBJZ1) $(OBJZ2) $(OBJZS) $(OBJA)
28
29OBJU1 = zipfile_$(OBJ) fileio_$(OBJ) util_$(OBJ) crc32$(OBJ) globals$(OBJ)
30OBJU  = $(OBJU1) $(OBJUS)
31
32OBJN =  zipnote$(OBJ) $(OBJU)
33OBJS =  zipsplit$(OBJ) $(OBJU)
34OBJC =  zipcloak$(OBJ) crc32_$(OBJ) crypt_$(OBJ) ttyio$(OBJ) $(OBJU)
35
36ZIP_H = zip.h ziperr.h tailor.h $(OSDEP_H)
37
38# rules
39
40.SUFFIXES: .c $(OBJ)
41
42.c$(OBJ):
43	$(CC) -c -I. $(CFLAGS) $<
44
45.asm$(OBJ):
46	$(AS) $(ASFLAGS) $<
47
48all:    zip.exe zipnote.exe zipsplit.exe zipcloak.exe
49
50zip$(OBJ):      zip.c $(ZIP_H) revision.h crc32.h crypt.h ttyio.h
51zipfile$(OBJ):  zipfile.c $(ZIP_H) crc32.h
52zipup$(OBJ):    zipup.c $(ZIP_H) revision.h crc32.h crypt.h win32/zipup.h
53fileio$(OBJ):   fileio.c $(ZIP_H) crc32.h
54util$(OBJ):     util.c $(ZIP_H)
55globals$(OBJ):  globals.c $(ZIP_H)
56deflate$(OBJ):  deflate.c $(ZIP_H)
57trees$(OBJ):    trees.c $(ZIP_H)
58crc32$(OBJ):    crc32.c $(ZIP_H) crc32.h
59crypt$(OBJ):    crypt.c $(ZIP_H) crypt.h crc32.h ttyio.h
60ttyio$(OBJ):    ttyio.c $(ZIP_H) crypt.h ttyio.h
61
62win32zip$(OBJ): win32/win32zip.c $(ZIP_H) win32/win32zip.h win32/nt.h
63	$(CC) -c -I. $(CFLAGS) win32/win32zip.c
64
65win32$(OBJ):    win32/win32.c $(ZIP_H) win32/win32zip.h
66	$(CC) -c -I. $(CFLAGS) win32/win32.c
67
68nt$(OBJ):       win32/nt.c $(ZIP_H) win32/nt.h
69	$(CC) -c -I. $(CFLAGS) win32/nt.c
70
71crc_gcc$(OBJ):  crc_i386.S                                      # 32bit, GNU AS
72	$(AS) $(ASFLAGS) -x assembler-with-cpp -c -o$@ crc_i386.S
73
74matchgcc$(OBJ): match.S
75	$(AS) $(ASFLAGS) -x assembler-with-cpp -c -o$@ match.S
76
77zipcloak$(OBJ): zipcloak.c $(ZIP_H) revision.h crc32.h crypt.h ttyio.h
78zipnote$(OBJ):  zipnote.c $(ZIP_H) revision.h
79zipsplit$(OBJ): zipsplit.c $(ZIP_H) revision.h
80
81zipfile_$(OBJ): zipfile.c $(ZIP_H) crc32.h
82	$(CC) -c -I. $(CFLAGS) -DUTIL -o$@ zipfile.c
83
84fileio_$(OBJ):  fileio.c $(ZIP_H) crc32.h
85	$(CC) -c -I. $(CFLAGS) -DUTIL -o$@ fileio.c
86
87util_$(OBJ):    util.c $(ZIP_H) os2/os2zip.h
88	$(CC) -c -I. $(CFLAGS) -DUTIL -o$@ util.c
89
90crc32_$(OBJ):   crc32.c $(ZIP_H) crc32.h
91	$(CC) -c -I. $(CFLAGS) -DUTIL -o$@ crc32.c
92
93crypt_$(OBJ):   crypt.c $(ZIP_H) crypt.h crc32.h ttyio.h
94	$(CC) -c -I. $(CFLAGS) -DUTIL -o$@ crypt.c
95
96win32_$(OBJ):   win32/win32.c $(ZIP_H) win32/win32zip.h
97	$(CC) -c -I. $(CFLAGS) -DUTIL -o$@ win32/win32.c
98
99$(ADVAPI32LIB):
100	makelib "$(windir)/system/advapi32.dll" -o ./$@
101
102zip.exe: $(OBJZ) $(ADVAPI32LIB)
103	$(CC) $(LDFLAGS)$@ $(OBJZ) $(L_ADVAPI32) $(LDFLAGS2)
104
105zipcloak.exe: $(OBJC)
106	$(CC) $(LDFLAGS)$@ $(OBJC) $(LDFLAGS2)
107
108zipnote.exe: $(OBJN)
109	$(CC) $(LDFLAGS)$@ $(OBJN) $(LDFLAGS2)
110
111zipsplit.exe: $(OBJS)
112	$(CC) $(LDFLAGS)$@ $(OBJS) $(LDFLAGS2)
113