1# Makefile for Zip, ZipCloak, ZipNote and ZipSplit for
2# djgpp 1.x
3VPATH=.;msdos
4# ------------- djgpp -------------
5CPPFLAGS=-I. -DDOS -DASM_CRC $(LOCAL_ZIP)
6ASFLAGS=$(CPPFLAGS)
7CFLAGS=-Wall -O2 -m486 $(CPPFLAGS)
8UTILFLAGS=-c -DUTIL $(CFLAGS) -o
9CC=gcc
10LD=gcc
11LDFLAGS=-s
12
13STRIP=strip
14
15# Change the STUBIFY definition to the upper version if you want to create
16# executables which can be used without any external extender file.
17# >>> NOTE: Either copy the go32 extender into your build directory, or
18# >>>       edit the STUBIFY macro and add the correct path to "go32.exe".
19#STUBIFY=coff2exe -s go32.exe
20STUBIFY=coff2exe
21
22# variables
23
24#set CRCA_O to crc_gcc.o or nothing, depending on whether ASM_CRC is defined:
25CRCA_O = crc_gcc.o
26
27OBJZ = zip.o crypt.o ttyio.o zipfile.o zipup.o fileio.o util.o \
28	crc32.o $(CRCA_O) globals.o
29OBJI = deflate.o trees.o match.o msdos.o
30OBJU = zipfile_.o fileio_.o util_.o globals.o msdos_.o
31OBJN = zipnote.o $(OBJU)
32OBJC = zipcloak.o crc32_.o crypt_.o ttyio.o $(OBJU)
33OBJS = zipsplit.o $(OBJU)
34
35ZIP_H = zip.h ziperr.h tailor.h msdos/osdep.h
36
37# rules
38
39.SUFFIXES:    # Delete make's default suffix list
40.SUFFIXES:    .exe .out .a .ln .o .c .cc .C .p .f .F .y .l .s .S .h
41
42.c.o:
43	$(CC) -c $(CFLAGS) $< -o $@
44
45zips:	zip.exe zipnote.exe zipsplit.exe zipcloak.exe
46
47zip.o:	      zip.c $(ZIP_H) revision.h crc32.h crypt.h ttyio.h
48
49zipfile.o:    zipfile.c $(ZIP_H) crc32.h
50
51zipup.o:      zipup.c $(ZIP_H) revision.h crc32.h crypt.h msdos/zipup.h
52
53fileio.o:     fileio.c $(ZIP_H)
54
55util.o:       util.c $(ZIP_H)
56
57globals.o:    globals.c $(ZIP_H)
58
59deflate.o:    deflate.c $(ZIP_H)
60
61trees.o:      trees.c $(ZIP_H)
62
63crc_gcc.o:    crc_i386.S
64	$(CC) $(ASFLAGS) -x assembler-with-cpp -c -o $@ crc_i386.S
65
66crc32.o:      crc32.c $(ZIP_H) crc32.h
67
68crypt.o:      crypt.c $(ZIP_H) crypt.h crc32.h ttyio.h
69
70ttyio.o:      ttyio.c $(ZIP_H) crypt.h ttyio.h
71
72msdos.o:      msdos/msdos.c $(ZIP_H)
73
74zipcloak.o:   zipcloak.c $(ZIP_H) revision.h crc32.h crypt.h ttyio.h
75
76zipnote.o:    zipnote.c $(ZIP_H) revision.h
77
78zipsplit.o:   zipsplit.c $(ZIP_H) revision.h
79
80zipfile_.o:   zipfile.c $(ZIP_H) crc32.h
81	$(CC) $(UTILFLAGS) $@ zipfile.c
82
83fileio_.o:    fileio.c $(ZIP_H) crc32.h
84	$(CC) $(UTILFLAGS) $@ fileio.c
85
86util_.o:      util.c $(ZIP_H)
87	$(CC) $(UTILFLAGS) $@ util.c
88
89crc32_.o:     crc32.c $(ZIP_H) crc32.h
90	$(CC) $(UTILFLAGS) $@ crc32.c
91
92crypt_.o:     crypt.c $(ZIP_H) crypt.h crc32.h ttyio.h
93	$(CC) $(UTILFLAGS) $@ crypt.c
94
95msdos_.o:     msdos/msdos.c $(ZIP_H)
96	$(CC) $(UTILFLAGS) $@ msdos/msdos.c
97
98match.o:      match.S
99	$(CC) $(ASFLAGS) -x assembler-with-cpp -c -o $@ match.S
100
101zip.exe: $(OBJZ) $(OBJI)
102	echo $(OBJZ) > zip.rsp
103	echo $(OBJI) >> zip.rsp
104	$(LD) $(LDFLAGS) -o zip @zip.rsp
105	del zip.rsp
106	$(STRIP) zip
107	$(STUBIFY) zip
108	del zip
109
110zipcloak.exe: $(OBJC)
111	$(LD) $(LDFLAGS) $(OBJC) -o zipcloak
112	$(STRIP) zipcloak
113	$(STUBIFY) zipcloak
114	del zipcloak
115
116zipnote.exe: $(OBJN)
117	$(LD) $(LDFLAGS) $(OBJN) -o zipnote
118	$(STRIP) zipnote
119	$(STUBIFY) zipnote
120	del zipnote
121
122zipsplit.exe: $(OBJS)
123	$(LD) $(LDFLAGS) $(OBJS) -o zipsplit
124	$(STRIP) zipsplit
125	$(STUBIFY) zipsplit
126	del zipsplit
127