116dce513Schristos# Makefile for zlib under OS/2 using GCC (PGCC) 216dce513Schristos# For conditions of distribution and use, see copyright notice in zlib.h 316dce513Schristos 416dce513Schristos# To compile and test, type: 516dce513Schristos# cp Makefile.os2 .. 616dce513Schristos# cd .. 716dce513Schristos# make -f Makefile.os2 test 816dce513Schristos 916dce513Schristos# This makefile will build a static library z.lib, a shared library 1016dce513Schristos# z.dll and a import library zdll.lib. You can use either z.lib or 1116dce513Schristos# zdll.lib by specifying either -lz or -lzdll on gcc's command line 1216dce513Schristos 1316dce513SchristosCC=gcc -Zomf -s 1416dce513Schristos 1516dce513SchristosCFLAGS=-O6 -Wall 1616dce513Schristos#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 17*ede78133Schristos#CFLAGS=-g -DZLIB_DEBUG 1816dce513Schristos#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \ 1916dce513Schristos# -Wstrict-prototypes -Wmissing-prototypes 2016dce513Schristos 2116dce513Schristos#################### BUG WARNING: ##################### 2216dce513Schristos## infcodes.c hits a bug in pgcc-1.0, so you have to use either 2316dce513Schristos## -O# where # <= 4 or one of (-fno-ommit-frame-pointer or -fno-force-mem) 2416dce513Schristos## This bug is reportedly fixed in pgcc >1.0, but this was not tested 2516dce513SchristosCFLAGS+=-fno-force-mem 2616dce513Schristos 2716dce513SchristosLDFLAGS=-s -L. -lzdll -Zcrtdll 2816dce513SchristosLDSHARED=$(CC) -s -Zomf -Zdll -Zcrtdll 2916dce513Schristos 3016dce513SchristosVER=1.1.0 3116dce513SchristosZLIB=z.lib 3216dce513SchristosSHAREDLIB=z.dll 3316dce513SchristosSHAREDLIBIMP=zdll.lib 3416dce513SchristosLIBS=$(ZLIB) $(SHAREDLIB) $(SHAREDLIBIMP) 3516dce513Schristos 3616dce513SchristosAR=emxomfar cr 3716dce513SchristosIMPLIB=emximp 3816dce513SchristosRANLIB=echo 3916dce513SchristosTAR=tar 4016dce513SchristosSHELL=bash 4116dce513Schristos 4216dce513Schristosprefix=/usr/local 4316dce513Schristosexec_prefix = $(prefix) 4416dce513Schristos 4516dce513SchristosOBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \ 4616dce513Schristos zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o 4716dce513Schristos 4816dce513SchristosTEST_OBJS = example.o minigzip.o 4916dce513Schristos 5016dce513SchristosDISTFILES = README INDEX ChangeLog configure Make*[a-z0-9] *.[ch] descrip.mms \ 5116dce513Schristos algorithm.txt zlib.3 msdos/Make*[a-z0-9] msdos/zlib.def msdos/zlib.rc \ 5216dce513Schristos nt/Makefile.nt nt/zlib.dnt contrib/README.contrib contrib/*.txt \ 5316dce513Schristos contrib/asm386/*.asm contrib/asm386/*.c \ 5416dce513Schristos contrib/asm386/*.bat contrib/asm386/zlibvc.d?? contrib/iostream/*.cpp \ 5516dce513Schristos contrib/iostream/*.h contrib/iostream2/*.h contrib/iostream2/*.cpp \ 5616dce513Schristos contrib/untgz/Makefile contrib/untgz/*.c contrib/untgz/*.w32 5716dce513Schristos 5816dce513Schristosall: example.exe minigzip.exe 5916dce513Schristos 6016dce513Schristostest: all 6116dce513Schristos @LD_LIBRARY_PATH=.:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \ 6216dce513Schristos echo hello world | ./minigzip | ./minigzip -d || \ 6316dce513Schristos echo ' *** minigzip test FAILED ***' ; \ 6416dce513Schristos if ./example; then \ 6516dce513Schristos echo ' *** zlib test OK ***'; \ 6616dce513Schristos else \ 6716dce513Schristos echo ' *** zlib test FAILED ***'; \ 6816dce513Schristos fi 6916dce513Schristos 7016dce513Schristos$(ZLIB): $(OBJS) 7116dce513Schristos $(AR) $@ $(OBJS) 7216dce513Schristos -@ ($(RANLIB) $@ || true) >/dev/null 2>&1 7316dce513Schristos 7416dce513Schristos$(SHAREDLIB): $(OBJS) os2/z.def 7516dce513Schristos $(LDSHARED) -o $@ $^ 7616dce513Schristos 7716dce513Schristos$(SHAREDLIBIMP): os2/z.def 7816dce513Schristos $(IMPLIB) -o $@ $^ 7916dce513Schristos 8016dce513Schristosexample.exe: example.o $(LIBS) 8116dce513Schristos $(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS) 8216dce513Schristos 8316dce513Schristosminigzip.exe: minigzip.o $(LIBS) 8416dce513Schristos $(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS) 8516dce513Schristos 8616dce513Schristosclean: 8716dce513Schristos rm -f *.o *~ example minigzip libz.a libz.so* foo.gz 8816dce513Schristos 8916dce513Schristosdistclean: clean 9016dce513Schristos 9116dce513Schristoszip: 9216dce513Schristos mv Makefile Makefile~; cp -p Makefile.in Makefile 9316dce513Schristos rm -f test.c ztest*.c 9416dce513Schristos v=`sed -n -e 's/\.//g' -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`;\ 9516dce513Schristos zip -ul9 zlib$$v $(DISTFILES) 9616dce513Schristos mv Makefile~ Makefile 9716dce513Schristos 9816dce513Schristosdist: 9916dce513Schristos mv Makefile Makefile~; cp -p Makefile.in Makefile 10016dce513Schristos rm -f test.c ztest*.c 10116dce513Schristos d=zlib-`sed -n '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`;\ 10216dce513Schristos rm -f $$d.tar.gz; \ 10316dce513Schristos if test ! -d ../$$d; then rm -f ../$$d; ln -s `pwd` ../$$d; fi; \ 10416dce513Schristos files=""; \ 10516dce513Schristos for f in $(DISTFILES); do files="$$files $$d/$$f"; done; \ 10616dce513Schristos cd ..; \ 10716dce513Schristos GZIP=-9 $(TAR) chofz $$d/$$d.tar.gz $$files; \ 10816dce513Schristos if test ! -d $$d; then rm -f $$d; fi 10916dce513Schristos mv Makefile~ Makefile 11016dce513Schristos 11116dce513Schristostags: 11216dce513Schristos etags *.[ch] 11316dce513Schristos 11416dce513Schristosdepend: 11516dce513Schristos makedepend -- $(CFLAGS) -- *.[ch] 11616dce513Schristos 11716dce513Schristos# DO NOT DELETE THIS LINE -- make depend depends on it. 11816dce513Schristos 11916dce513Schristosadler32.o: zlib.h zconf.h 12016dce513Schristoscompress.o: zlib.h zconf.h 12116dce513Schristoscrc32.o: zlib.h zconf.h 12216dce513Schristosdeflate.o: deflate.h zutil.h zlib.h zconf.h 12316dce513Schristosexample.o: zlib.h zconf.h 12416dce513Schristosgzio.o: zutil.h zlib.h zconf.h 12516dce513Schristosinfblock.o: infblock.h inftrees.h infcodes.h infutil.h zutil.h zlib.h zconf.h 12616dce513Schristosinfcodes.o: zutil.h zlib.h zconf.h 12716dce513Schristosinfcodes.o: inftrees.h infblock.h infcodes.h infutil.h inffast.h 12816dce513Schristosinffast.o: zutil.h zlib.h zconf.h inftrees.h 12916dce513Schristosinffast.o: infblock.h infcodes.h infutil.h inffast.h 13016dce513Schristosinflate.o: zutil.h zlib.h zconf.h infblock.h 13116dce513Schristosinftrees.o: zutil.h zlib.h zconf.h inftrees.h 13216dce513Schristosinfutil.o: zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h 13316dce513Schristosminigzip.o: zlib.h zconf.h 13416dce513Schristostrees.o: deflate.h zutil.h zlib.h zconf.h trees.h 13516dce513Schristosuncompr.o: zlib.h zconf.h 13616dce513Schristoszutil.o: zutil.h zlib.h zconf.h 137