xref: /minix3/common/dist/zlib/old/os2/Makefile.os2 (revision 44bedb31d842b4b0444105519bcf929a69fe2dc1)
1*44bedb31SLionel Sambuc# Makefile for zlib under OS/2 using GCC (PGCC)
2*44bedb31SLionel Sambuc# For conditions of distribution and use, see copyright notice in zlib.h
3*44bedb31SLionel Sambuc
4*44bedb31SLionel Sambuc# To compile and test, type:
5*44bedb31SLionel Sambuc#   cp Makefile.os2 ..
6*44bedb31SLionel Sambuc#   cd ..
7*44bedb31SLionel Sambuc#   make -f Makefile.os2 test
8*44bedb31SLionel Sambuc
9*44bedb31SLionel Sambuc# This makefile will build a static library z.lib, a shared library
10*44bedb31SLionel Sambuc# z.dll and a import library zdll.lib. You can use either z.lib or
11*44bedb31SLionel Sambuc# zdll.lib by specifying either -lz or -lzdll on gcc's command line
12*44bedb31SLionel Sambuc
13*44bedb31SLionel SambucCC=gcc -Zomf -s
14*44bedb31SLionel Sambuc
15*44bedb31SLionel SambucCFLAGS=-O6 -Wall
16*44bedb31SLionel Sambuc#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
17*44bedb31SLionel Sambuc#CFLAGS=-g -DDEBUG
18*44bedb31SLionel Sambuc#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
19*44bedb31SLionel Sambuc#           -Wstrict-prototypes -Wmissing-prototypes
20*44bedb31SLionel Sambuc
21*44bedb31SLionel Sambuc#################### BUG WARNING: #####################
22*44bedb31SLionel Sambuc## infcodes.c hits a bug in pgcc-1.0, so you have to use either
23*44bedb31SLionel Sambuc## -O# where # <= 4 or one of (-fno-ommit-frame-pointer or -fno-force-mem)
24*44bedb31SLionel Sambuc## This bug is reportedly fixed in pgcc >1.0, but this was not tested
25*44bedb31SLionel SambucCFLAGS+=-fno-force-mem
26*44bedb31SLionel Sambuc
27*44bedb31SLionel SambucLDFLAGS=-s -L. -lzdll -Zcrtdll
28*44bedb31SLionel SambucLDSHARED=$(CC) -s -Zomf -Zdll -Zcrtdll
29*44bedb31SLionel Sambuc
30*44bedb31SLionel SambucVER=1.1.0
31*44bedb31SLionel SambucZLIB=z.lib
32*44bedb31SLionel SambucSHAREDLIB=z.dll
33*44bedb31SLionel SambucSHAREDLIBIMP=zdll.lib
34*44bedb31SLionel SambucLIBS=$(ZLIB) $(SHAREDLIB) $(SHAREDLIBIMP)
35*44bedb31SLionel Sambuc
36*44bedb31SLionel SambucAR=emxomfar cr
37*44bedb31SLionel SambucIMPLIB=emximp
38*44bedb31SLionel SambucRANLIB=echo
39*44bedb31SLionel SambucTAR=tar
40*44bedb31SLionel SambucSHELL=bash
41*44bedb31SLionel Sambuc
42*44bedb31SLionel Sambucprefix=/usr/local
43*44bedb31SLionel Sambucexec_prefix = $(prefix)
44*44bedb31SLionel Sambuc
45*44bedb31SLionel SambucOBJS = adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o \
46*44bedb31SLionel Sambuc       zutil.o inflate.o infblock.o inftrees.o infcodes.o infutil.o inffast.o
47*44bedb31SLionel Sambuc
48*44bedb31SLionel SambucTEST_OBJS = example.o minigzip.o
49*44bedb31SLionel Sambuc
50*44bedb31SLionel SambucDISTFILES = README INDEX ChangeLog configure Make*[a-z0-9] *.[ch] descrip.mms \
51*44bedb31SLionel Sambuc  algorithm.txt zlib.3 msdos/Make*[a-z0-9] msdos/zlib.def msdos/zlib.rc \
52*44bedb31SLionel Sambuc  nt/Makefile.nt nt/zlib.dnt  contrib/README.contrib contrib/*.txt \
53*44bedb31SLionel Sambuc  contrib/asm386/*.asm contrib/asm386/*.c \
54*44bedb31SLionel Sambuc  contrib/asm386/*.bat contrib/asm386/zlibvc.d?? contrib/iostream/*.cpp \
55*44bedb31SLionel Sambuc  contrib/iostream/*.h  contrib/iostream2/*.h contrib/iostream2/*.cpp \
56*44bedb31SLionel Sambuc  contrib/untgz/Makefile contrib/untgz/*.c contrib/untgz/*.w32
57*44bedb31SLionel Sambuc
58*44bedb31SLionel Sambucall: example.exe minigzip.exe
59*44bedb31SLionel Sambuc
60*44bedb31SLionel Sambuctest: all
61*44bedb31SLionel Sambuc	@LD_LIBRARY_PATH=.:$(LD_LIBRARY_PATH) ; export LD_LIBRARY_PATH; \
62*44bedb31SLionel Sambuc	echo hello world | ./minigzip | ./minigzip -d || \
63*44bedb31SLionel Sambuc	  echo '		*** minigzip test FAILED ***' ; \
64*44bedb31SLionel Sambuc	if ./example; then \
65*44bedb31SLionel Sambuc	  echo '		*** zlib test OK ***'; \
66*44bedb31SLionel Sambuc	else \
67*44bedb31SLionel Sambuc	  echo '		*** zlib test FAILED ***'; \
68*44bedb31SLionel Sambuc	fi
69*44bedb31SLionel Sambuc
70*44bedb31SLionel Sambuc$(ZLIB): $(OBJS)
71*44bedb31SLionel Sambuc	$(AR) $@ $(OBJS)
72*44bedb31SLionel Sambuc	-@ ($(RANLIB) $@ || true) >/dev/null 2>&1
73*44bedb31SLionel Sambuc
74*44bedb31SLionel Sambuc$(SHAREDLIB): $(OBJS) os2/z.def
75*44bedb31SLionel Sambuc	$(LDSHARED) -o $@ $^
76*44bedb31SLionel Sambuc
77*44bedb31SLionel Sambuc$(SHAREDLIBIMP): os2/z.def
78*44bedb31SLionel Sambuc	$(IMPLIB) -o $@ $^
79*44bedb31SLionel Sambuc
80*44bedb31SLionel Sambucexample.exe: example.o $(LIBS)
81*44bedb31SLionel Sambuc	$(CC) $(CFLAGS) -o $@ example.o $(LDFLAGS)
82*44bedb31SLionel Sambuc
83*44bedb31SLionel Sambucminigzip.exe: minigzip.o $(LIBS)
84*44bedb31SLionel Sambuc	$(CC) $(CFLAGS) -o $@ minigzip.o $(LDFLAGS)
85*44bedb31SLionel Sambuc
86*44bedb31SLionel Sambucclean:
87*44bedb31SLionel Sambuc	rm -f *.o *~ example minigzip libz.a libz.so* foo.gz
88*44bedb31SLionel Sambuc
89*44bedb31SLionel Sambucdistclean:	clean
90*44bedb31SLionel Sambuc
91*44bedb31SLionel Sambuczip:
92*44bedb31SLionel Sambuc	mv Makefile Makefile~; cp -p Makefile.in Makefile
93*44bedb31SLionel Sambuc	rm -f test.c ztest*.c
94*44bedb31SLionel Sambuc	v=`sed -n -e 's/\.//g' -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`;\
95*44bedb31SLionel Sambuc	zip -ul9 zlib$$v $(DISTFILES)
96*44bedb31SLionel Sambuc	mv Makefile~ Makefile
97*44bedb31SLionel Sambuc
98*44bedb31SLionel Sambucdist:
99*44bedb31SLionel Sambuc	mv Makefile Makefile~; cp -p Makefile.in Makefile
100*44bedb31SLionel Sambuc	rm -f test.c ztest*.c
101*44bedb31SLionel Sambuc	d=zlib-`sed -n '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`;\
102*44bedb31SLionel Sambuc	rm -f $$d.tar.gz; \
103*44bedb31SLionel Sambuc	if test ! -d ../$$d; then rm -f ../$$d; ln -s `pwd` ../$$d; fi; \
104*44bedb31SLionel Sambuc	files=""; \
105*44bedb31SLionel Sambuc	for f in $(DISTFILES); do files="$$files $$d/$$f"; done; \
106*44bedb31SLionel Sambuc	cd ..; \
107*44bedb31SLionel Sambuc	GZIP=-9 $(TAR) chofz $$d/$$d.tar.gz $$files; \
108*44bedb31SLionel Sambuc	if test ! -d $$d; then rm -f $$d; fi
109*44bedb31SLionel Sambuc	mv Makefile~ Makefile
110*44bedb31SLionel Sambuc
111*44bedb31SLionel Sambuctags:
112*44bedb31SLionel Sambuc	etags *.[ch]
113*44bedb31SLionel Sambuc
114*44bedb31SLionel Sambucdepend:
115*44bedb31SLionel Sambuc	makedepend -- $(CFLAGS) -- *.[ch]
116*44bedb31SLionel Sambuc
117*44bedb31SLionel Sambuc# DO NOT DELETE THIS LINE -- make depend depends on it.
118*44bedb31SLionel Sambuc
119*44bedb31SLionel Sambucadler32.o: zlib.h zconf.h
120*44bedb31SLionel Sambuccompress.o: zlib.h zconf.h
121*44bedb31SLionel Sambuccrc32.o: zlib.h zconf.h
122*44bedb31SLionel Sambucdeflate.o: deflate.h zutil.h zlib.h zconf.h
123*44bedb31SLionel Sambucexample.o: zlib.h zconf.h
124*44bedb31SLionel Sambucgzio.o: zutil.h zlib.h zconf.h
125*44bedb31SLionel Sambucinfblock.o: infblock.h inftrees.h infcodes.h infutil.h zutil.h zlib.h zconf.h
126*44bedb31SLionel Sambucinfcodes.o: zutil.h zlib.h zconf.h
127*44bedb31SLionel Sambucinfcodes.o: inftrees.h infblock.h infcodes.h infutil.h inffast.h
128*44bedb31SLionel Sambucinffast.o: zutil.h zlib.h zconf.h inftrees.h
129*44bedb31SLionel Sambucinffast.o: infblock.h infcodes.h infutil.h inffast.h
130*44bedb31SLionel Sambucinflate.o: zutil.h zlib.h zconf.h infblock.h
131*44bedb31SLionel Sambucinftrees.o: zutil.h zlib.h zconf.h inftrees.h
132*44bedb31SLionel Sambucinfutil.o: zutil.h zlib.h zconf.h infblock.h inftrees.h infcodes.h infutil.h
133*44bedb31SLionel Sambucminigzip.o: zlib.h zconf.h
134*44bedb31SLionel Sambuctrees.o: deflate.h zutil.h zlib.h zconf.h trees.h
135*44bedb31SLionel Sambucuncompr.o: zlib.h zconf.h
136*44bedb31SLionel Sambuczutil.o: zutil.h zlib.h zconf.h
137