1aaf4ece6Schristos# Makefile for zlib
2aaf4ece6Schristos# For use with Delphi and C++ Builder under Win32
3aaf4ece6Schristos# Updated for zlib 1.2.x by Cosmin Truta
4aaf4ece6Schristos
5aaf4ece6Schristos# ------------ Borland C++ ------------
6aaf4ece6Schristos
7aaf4ece6Schristos# This project uses the Delphi (fastcall/register) calling convention:
8aaf4ece6SchristosLOC = -DZEXPORT=__fastcall -DZEXPORTVA=__cdecl
9aaf4ece6Schristos
10aaf4ece6SchristosCC = bcc32
11aaf4ece6SchristosLD = bcc32
12aaf4ece6SchristosAR = tlib
13aaf4ece6Schristos# do not use "-pr" in CFLAGS
14aaf4ece6SchristosCFLAGS = -a -d -k- -O2 $(LOC)
15aaf4ece6SchristosLDFLAGS =
16aaf4ece6Schristos
17aaf4ece6Schristos
18aaf4ece6Schristos# variables
19aaf4ece6SchristosZLIB_LIB = zlib.lib
20aaf4ece6Schristos
21*de1ce4f6SchristosOBJ1 = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj
22*de1ce4f6SchristosOBJ2 = gzwrite.obj infback.obj inffast.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj
23*de1ce4f6SchristosOBJP1 = +adler32.obj+compress.obj+crc32.obj+deflate.obj+gzclose.obj+gzlib.obj+gzread.obj
24*de1ce4f6SchristosOBJP2 = +gzwrite.obj+infback.obj+inffast.obj+inflate.obj+inftrees.obj+trees.obj+uncompr.obj+zutil.obj
25aaf4ece6Schristos
26aaf4ece6Schristos
27aaf4ece6Schristos# targets
28aaf4ece6Schristosall: $(ZLIB_LIB) example.exe minigzip.exe
29aaf4ece6Schristos
30aaf4ece6Schristos.c.obj:
31aaf4ece6Schristos	$(CC) -c $(CFLAGS) $*.c
32aaf4ece6Schristos
33aaf4ece6Schristosadler32.obj: adler32.c zlib.h zconf.h
34aaf4ece6Schristos
35aaf4ece6Schristoscompress.obj: compress.c zlib.h zconf.h
36aaf4ece6Schristos
37aaf4ece6Schristoscrc32.obj: crc32.c zlib.h zconf.h crc32.h
38aaf4ece6Schristos
39aaf4ece6Schristosdeflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
40aaf4ece6Schristos
41*de1ce4f6Schristosgzclose.obj: gzclose.c zlib.h zconf.h gzguts.h
42*de1ce4f6Schristos
43*de1ce4f6Schristosgzlib.obj: gzlib.c zlib.h zconf.h gzguts.h
44*de1ce4f6Schristos
45*de1ce4f6Schristosgzread.obj: gzread.c zlib.h zconf.h gzguts.h
46*de1ce4f6Schristos
47*de1ce4f6Schristosgzwrite.obj: gzwrite.c zlib.h zconf.h gzguts.h
48aaf4ece6Schristos
49aaf4ece6Schristosinfback.obj: infback.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
50aaf4ece6Schristos inffast.h inffixed.h
51aaf4ece6Schristos
52aaf4ece6Schristosinffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
53aaf4ece6Schristos inffast.h
54aaf4ece6Schristos
55aaf4ece6Schristosinflate.obj: inflate.c zutil.h zlib.h zconf.h inftrees.h inflate.h \
56aaf4ece6Schristos inffast.h inffixed.h
57aaf4ece6Schristos
58aaf4ece6Schristosinftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
59aaf4ece6Schristos
60aaf4ece6Schristostrees.obj: trees.c zutil.h zlib.h zconf.h deflate.h trees.h
61aaf4ece6Schristos
62aaf4ece6Schristosuncompr.obj: uncompr.c zlib.h zconf.h
63aaf4ece6Schristos
64aaf4ece6Schristoszutil.obj: zutil.c zutil.h zlib.h zconf.h
65aaf4ece6Schristos
66*de1ce4f6Schristosexample.obj: test/example.c zlib.h zconf.h
67aaf4ece6Schristos
68*de1ce4f6Schristosminigzip.obj: test/minigzip.c zlib.h zconf.h
69aaf4ece6Schristos
70aaf4ece6Schristos
71aaf4ece6Schristos# For the sake of the old Borland make,
72aaf4ece6Schristos# the command line is cut to fit in the MS-DOS 128 byte limit:
73aaf4ece6Schristos$(ZLIB_LIB): $(OBJ1) $(OBJ2)
74aaf4ece6Schristos	-del $(ZLIB_LIB)
75aaf4ece6Schristos	$(AR) $(ZLIB_LIB) $(OBJP1)
76aaf4ece6Schristos	$(AR) $(ZLIB_LIB) $(OBJP2)
77aaf4ece6Schristos
78aaf4ece6Schristos
79aaf4ece6Schristos# testing
80aaf4ece6Schristostest: example.exe minigzip.exe
81aaf4ece6Schristos	example
82aaf4ece6Schristos	echo hello world | minigzip | minigzip -d
83aaf4ece6Schristos
84aaf4ece6Schristosexample.exe: example.obj $(ZLIB_LIB)
85aaf4ece6Schristos	$(LD) $(LDFLAGS) example.obj $(ZLIB_LIB)
86aaf4ece6Schristos
87aaf4ece6Schristosminigzip.exe: minigzip.obj $(ZLIB_LIB)
88aaf4ece6Schristos	$(LD) $(LDFLAGS) minigzip.obj $(ZLIB_LIB)
89aaf4ece6Schristos
90aaf4ece6Schristos
91aaf4ece6Schristos# cleanup
92aaf4ece6Schristosclean:
93aaf4ece6Schristos	-del *.obj
94aaf4ece6Schristos	-del *.exe
95aaf4ece6Schristos	-del *.lib
96aaf4ece6Schristos	-del *.tds
97aaf4ece6Schristos	-del zlib.bak
98aaf4ece6Schristos	-del foo.gz
99aaf4ece6Schristos
100