150472Speter#
233975Sjdp#
333975Sjdp
433975SjdpPACKAGE=	runtime
544360SimpLIB=		z
633975SjdpSHLIBDIR?=	/lib
784902SobrienSHLIB_MAJOR=	6
8218822SdimMAN=		zlib.3 zopen.3
9218822SdimMLINKS+=	zopen.3 zdopen.3
10218822Sdim
11218822SdimZLIBSRC=	${SRCTOP}/sys/contrib/zlib
12218822Sdim
13218822Sdim.PATH:		${ZLIBSRC}
14218822Sdim
15218822Sdim#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
16218822Sdim#CFLAGS=-g -DDEBUG
17218822Sdim#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
18218822Sdim#           -Wstrict-prototypes -Wmissing-prototypes
19218822Sdim
20218822SdimCFLAGS+=	-D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I${.CURDIR}
21218822Sdim
22218822SdimWARNS?=		3
23218822Sdim
24218822SdimCLEANFILES+=	example.o example foo.gz minigzip.o minigzip
25218822Sdim
26218822SdimSRCS+=		adler32.c
27218822SdimSRCS+=		compress.c
28218822SdimSRCS+=		crc32.c
29218822SdimSRCS+=		deflate.c
30218822SdimSRCS+=		gzclose.c
31218822SdimSRCS+=		gzlib.c
32218822SdimSRCS+=		gzread.c
33218822SdimSRCS+=		gzwrite.c
34218822SdimSRCS+=		infback.c
35218822SdimSRCS+=		inffast.c
36218822SdimSRCS+=		inflate.c
37218822SdimSRCS+=		inftrees.c
38218822SdimSRCS+=		trees.c
39218822SdimSRCS+=		uncompr.c
40218822SdimSRCS+=		zutil.c
41218822Sdim
42218822Sdim# Wrapper relies on FreeBSD-specific fpos_t representation and non-portable
43218822Sdim# funopen. Not needed for bootstrapping, so just disable it.
44218822Sdim.if ${.MAKE.OS} == "FreeBSD" || !defined(BOOTSTRAPPING)
45203434SimpSRCS+=		zopen.c
46126197Sjohan.endif
4792257Sobrien
48130575Sobrien.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64"
4984902SobrienCFLAGS+=	-DUNALIGNED_OK
50136910Sru.endif
51130575Sobrien
5233975SjdpVERSION_DEF=	${.CURDIR}/Versions.def
5335711SjbSYMBOL_MAPS=	${.CURDIR}/Symbol.map
54114050Sobrien
55114050SobrienINCS=		zconf.h zlib.h
56114050Sobrien
5784902Sobrien.PATH:		${ZLIBSRC}/test
5858953Ssteve
5935711SjbZLIB_VERSION!=	sed -n '/define.*ZLIB_VERSION/{s,[^0-9.],,gp;q;}' ${ZLIBSRC}/zlib.h
6035711Sjb
6184902Sobrienzlib.pc: zlib.pc.in
6235711Sjb	sed -e 's,@prefix@,/usr,g ; \
6384902Sobrien		s,@exec_prefix@,$${prefix},g ; \
6435711Sjb		s,@libdir@,${LIBDIR},g ; \
6535711Sjb		s,@sharedlibdir@,${SHLIBDIR},g ; \
6658953Ssteve		s,@includedir@,${INCLUDEDIR},g ; \
6784902Sobrien		s,@VERSION@,${ZLIB_VERSION},g ;' \
6835711Sjb		${.ALLSRC} > ${.TARGET}
6935711Sjb
7035711Sjbminigzip:	all minigzip.o
71107506Sobrien	$(CC) -o minigzip minigzip.o -L. -lz
7235711Sjb
7384902Sobrienexample:	all example.o
7435711Sjb	$(CC) -o example example.o -L. -lz
7584902Sobrien
7635711Sjbtest: example minigzip
7735711Sjb	(export LD_LIBRARY_PATH=. ; ./example )
7884902Sobrien	(export LD_LIBRARY_PATH=. ; \
79131832Sobrien		echo hello world | ./minigzip | ./minigzip -d )
80218822Sdim
8135711SjbPCFILES=	zlib.pc
82130575Sobrien
83130575Sobrien.include <bsd.lib.mk>
84218822Sdim
85218822SdimCWARNFLAGS+=	${NO_WDEPRECATED_NON_PROTOTYPE} ${NO_WSTRICT_PROTOTYPES}
86130575Sobrien