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