xref: /netbsd-src/common/dist/zlib/old/os2/Makefile.os2 (revision c34236556bea94afcaca1782d7d228301edc3ea0)
1aaf4ece6Schristos# Makefile for zlib under OS/2 using GCC (PGCC)
2aaf4ece6Schristos# For conditions of distribution and use, see copyright notice in zlib.h
3aaf4ece6Schristos
4aaf4ece6Schristos# To compile and test, type:
5aaf4ece6Schristos#   cp Makefile.os2 ..
6aaf4ece6Schristos#   cd ..
7aaf4ece6Schristos#   make -f Makefile.os2 test
8aaf4ece6Schristos
9aaf4ece6Schristos# This makefile will build a static library z.lib, a shared library
10aaf4ece6Schristos# z.dll and a import library zdll.lib. You can use either z.lib or
11aaf4ece6Schristos# zdll.lib by specifying either -lz or -lzdll on gcc's command line
12aaf4ece6Schristos
13aaf4ece6SchristosCC=gcc -Zomf -s
14aaf4ece6Schristos
15aaf4ece6SchristosCFLAGS=-O6 -Wall
16aaf4ece6Schristos#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
17*c3423655Schristos#CFLAGS=-g -DZLIB_DEBUG
18aaf4ece6Schristos#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
19aaf4ece6Schristos#           -Wstrict-prototypes -Wmissing-prototypes
20aaf4ece6Schristos
21aaf4ece6Schristos#################### BUG WARNING: #####################
22aaf4ece6Schristos## infcodes.c hits a bug in pgcc-1.0, so you have to use either
23aaf4ece6Schristos## -O# where # <= 4 or one of (-fno-ommit-frame-pointer or -fno-force-mem)
24aaf4ece6Schristos## This bug is reportedly fixed in pgcc >1.0, but this was not tested
25aaf4ece6SchristosCFLAGS+=-fno-force-mem
26aaf4ece6Schristos
27aaf4ece6SchristosLDFLAGS=-s -L. -lzdll -Zcrtdll
28aaf4ece6SchristosLDSHARED=$(CC) -s -Zomf -Zdll -Zcrtdll
29aaf4ece6Schristos
30aaf4ece6SchristosVER=1.1.0
31aaf4ece6SchristosZLIB=z.lib
32aaf4ece6SchristosSHAREDLIB=z.dll
33aaf4ece6SchristosSHAREDLIBIMP=zdll.lib
34aaf4ece6SchristosLIBS=$(ZLIB) $(SHAREDLIB) $(SHAREDLIBIMP)
35aaf4ece6Schristos
36aaf4ece6SchristosAR=emxomfar cr
37aaf4ece6SchristosIMPLIB=emximp
38aaf4ece6SchristosRANLIB=echo
39aaf4ece6SchristosTAR=tar
40aaf4ece6SchristosSHELL=bash
41aaf4ece6Schristos
42aaf4ece6Schristosprefix=/usr/local
43aaf4ece6Schristosexec_prefix = $(prefix)
44aaf4ece6Schristos
45aaf4ece6SchristosOBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
46aaf4ece6Schristos       zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
47aaf4ece6Schristos
48aaf4ece6SchristosTEST_OBJS = example.o minigzip.o
49aaf4ece6Schristos
50aaf4ece6SchristosDISTFILES = README INDEX ChangeLog configure Make*[a-z0-9] *.[ch] descrip.mms \
51aaf4ece6Schristos  algorithm.txt zlib.3 msdos/Make*[a-z0-9] msdos/zlib.def msdos/zlib.rc \
52aaf4ece6Schristos  nt/Makefile.nt nt/zlib.dnt  contrib/README.contrib contrib/*.txt \
53aaf4ece6Schristos  contrib/asm386/*.asm contrib/asm386/*.c \
54aaf4ece6Schristos  contrib/asm386/*.bat contrib/asm386/zlibvc.d?? contrib/iostream/*.cpp \
55aaf4ece6Schristos  contrib/iostream/*.h  contrib/iostream2/*.h contrib/iostream2/*.cpp \
56aaf4ece6Schristos  contrib/untgz/Makefile contrib/untgz/*.c contrib/untgz/*.w32
57aaf4ece6Schristos
58aaf4ece6Schristosall: example.exe minigzip.exe
59aaf4ece6Schristos
60aaf4ece6Schristostest: all
61aaf4ece6Schristos	@LD_LIBRARY_PATH=.:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \
62aaf4ece6Schristos	echo hello world | ./minigzip | ./minigzip -d || \
63aaf4ece6Schristos	  echo '		*** minigzip test FAILED ***' ; \
64aaf4ece6Schristos	if ./example; then \
65aaf4ece6Schristos	  echo '		*** zlib test OK ***'; \
66aaf4ece6Schristos	else \
67aaf4ece6Schristos	  echo '		*** zlib test FAILED ***'; \
68aaf4ece6Schristos	fi
69aaf4ece6Schristos
70aaf4ece6Schristos$(ZLIB): $(OBJS)
71aaf4ece6Schristos	$(AR) $@ $(OBJS)
72aaf4ece6Schristos	-@ ($(RANLIB) $@ || true) >/dev/null 2>&1
73aaf4ece6Schristos
74aaf4ece6Schristos$(SHAREDLIB): $(OBJS) os2/z.def
75aaf4ece6Schristos	$(LDSHARED) -o $@ $^
76aaf4ece6Schristos
77aaf4ece6Schristos$(SHAREDLIBIMP): os2/z.def
78aaf4ece6Schristos	$(IMPLIB) -o $@ $^
79aaf4ece6Schristos
80aaf4ece6Schristosexample.exe: example.o $(LIBS)
81aaf4ece6Schristos	$(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS)
82aaf4ece6Schristos
83aaf4ece6Schristosminigzip.exe: minigzip.o $(LIBS)
84aaf4ece6Schristos	$(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS)
85aaf4ece6Schristos
86aaf4ece6Schristosclean:
87aaf4ece6Schristos	rm -f *.o *~ example minigzip libz.a libz.so* foo.gz
88aaf4ece6Schristos
89aaf4ece6Schristosdistclean:	clean
90aaf4ece6Schristos
91aaf4ece6Schristoszip:
92aaf4ece6Schristos	mv Makefile Makefile~; cp -p Makefile.in Makefile
93aaf4ece6Schristos	rm -f test.c ztest*.c
94aaf4ece6Schristos	v=`sed -n -e 's/\.//g' -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`;\
95aaf4ece6Schristos	zip -ul9 zlib$$v $(DISTFILES)
96aaf4ece6Schristos	mv Makefile~ Makefile
97aaf4ece6Schristos
98aaf4ece6Schristosdist:
99aaf4ece6Schristos	mv Makefile Makefile~; cp -p Makefile.in Makefile
100aaf4ece6Schristos	rm -f test.c ztest*.c
101aaf4ece6Schristos	d=zlib-`sed -n '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`;\
102aaf4ece6Schristos	rm -f $$d.tar.gz; \
103aaf4ece6Schristos	if test ! -d ../$$d; then rm -f ../$$d; ln -s `pwd` ../$$d; fi; \
104aaf4ece6Schristos	files=""; \
105aaf4ece6Schristos	for f in $(DISTFILES); do files="$$files $$d/$$f"; done; \
106aaf4ece6Schristos	cd ..; \
107aaf4ece6Schristos	GZIP=-9 $(TAR) chofz $$d/$$d.tar.gz $$files; \
108aaf4ece6Schristos	if test ! -d $$d; then rm -f $$d; fi
109aaf4ece6Schristos	mv Makefile~ Makefile
110aaf4ece6Schristos
111aaf4ece6Schristostags:
112aaf4ece6Schristos	etags *.[ch]
113aaf4ece6Schristos
114aaf4ece6Schristosdepend:
115aaf4ece6Schristos	makedepend -- $(CFLAGS) -- *.[ch]
116aaf4ece6Schristos
117aaf4ece6Schristos# DO NOT DELETE THIS LINE -- make depend depends on it.
118aaf4ece6Schristos
119aaf4ece6Schristosadler32.o: zlib.h zconf.h
120aaf4ece6Schristoscompress.o: zlib.h zconf.h
121aaf4ece6Schristoscrc32.o: zlib.h zconf.h
122aaf4ece6Schristosdeflate.o: deflate.h zutil.h zlib.h zconf.h
123aaf4ece6Schristosexample.o: zlib.h zconf.h
124aaf4ece6Schristosgzio.o: zutil.h zlib.h zconf.h
125aaf4ece6Schristosinfblock.o: infblock.h inftrees.h infcodes.h infutil.h zutil.h zlib.h zconf.h
126aaf4ece6Schristosinfcodes.o: zutil.h zlib.h zconf.h
127aaf4ece6Schristosinfcodes.o: inftrees.h infblock.h infcodes.h infutil.h inffast.h
128aaf4ece6Schristosinffast.o: zutil.h zlib.h zconf.h inftrees.h
129aaf4ece6Schristosinffast.o: infblock.h infcodes.h infutil.h inffast.h
130aaf4ece6Schristosinflate.o: zutil.h zlib.h zconf.h infblock.h
131aaf4ece6Schristosinftrees.o: zutil.h zlib.h zconf.h inftrees.h
132aaf4ece6Schristosinfutil.o: zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h
133aaf4ece6Schristosminigzip.o: zlib.h zconf.h
134aaf4ece6Schristostrees.o: deflate.h zutil.h zlib.h zconf.h trees.h
135aaf4ece6Schristosuncompr.o: zlib.h zconf.h
136aaf4ece6Schristoszutil.o: zutil.h zlib.h zconf.h
137