xref: /freebsd/lib/libz/Makefile (revision 18b2ee82db77066fdb18c8183e02e02f79499328)
1b1c8a8dfSPeter Wemm#
2ce086c79SEd Maste# $FreeBSD$
3b1c8a8dfSPeter Wemm#
4b1c8a8dfSPeter Wemm
5b1c8a8dfSPeter WemmLIB=		z
6*18b2ee82SBaptiste DaroussinSHLIBDIR?=	/lib
7798aea00SXin LISHLIB_MAJOR=	6
841de1082SXin LIMAN=		zlib.3 zopen.3
9b1c8a8dfSPeter Wemm
10798aea00SXin LI#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
11798aea00SXin LI#CFLAGS=-g -DDEBUG
12798aea00SXin LI#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
13b1c8a8dfSPeter Wemm#           -Wstrict-prototypes -Wmissing-prototypes
14b1c8a8dfSPeter Wemm
15798aea00SXin LICFLAGS+=	-DHAS_snprintf -DHAS_vsnprintf -I${.CURDIR}
16f3b0f821SChris D. Faulhaber
17daaf5759SEd SchoutenWARNS?=		3
18daaf5759SEd Schouten
19e827b8c5SSteve PriceCLEANFILES+=	example.o example foo.gz minigzip.o minigzip
20b1c8a8dfSPeter Wemm
21798aea00SXin LISRCS+=		adler32.c
22798aea00SXin LISRCS+=		compress.c
23798aea00SXin LISRCS+=		crc32.c
24798aea00SXin LISRCS+=		deflate.c
25798aea00SXin LISRCS+=		gzclose.c
26798aea00SXin LISRCS+=		gzlib.c
27798aea00SXin LISRCS+=		gzread.c
28798aea00SXin LISRCS+=		gzwrite.c
29798aea00SXin LISRCS+=		infback.c
30798aea00SXin LISRCS+=		inffast.c
31798aea00SXin LISRCS+=		inflate.c
32798aea00SXin LISRCS+=		inftrees.c
33798aea00SXin LISRCS+=		trees.c
34798aea00SXin LISRCS+=		uncompr.c
35798aea00SXin LISRCS+=		zopen.c
36798aea00SXin LISRCS+=		zutil.c
37798aea00SXin LI
38a2953f76SXin LI#.if ${MACHINE_ARCH} == "i386" && ${MACHINE_CPU:M*i686*}
39a2953f76SXin LI#.PATH:		${.CURDIR}/contrib/asm686
40a2953f76SXin LI#SRCS+=		match.S
41a2953f76SXin LI#CFLAGS+=	-DASMV -DNO_UNDERLINE
42a2953f76SXin LI#ACFLAGS+=	-Wa,--noexecstack
43a2953f76SXin LI#.endif
44798aea00SXin LI
4554257e2cSXin LI#.if ${MACHINE_ARCH} == "amd64"
4654257e2cSXin LI#.PATH:		${.CURDIR}/contrib/gcc_gvmat64
4754257e2cSXin LI#SRCS+=		gvmat64.S
4854257e2cSXin LI#CFLAGS+=	-DASMV -DNO_UNDERLINE
4954257e2cSXin LI#ACFLAGS+=	-Wa,--noexecstack
5054257e2cSXin LI#.endif
51798aea00SXin LI
52798aea00SXin LIVERSION_DEF=	${.CURDIR}/Versions.def
53798aea00SXin LISYMBOL_MAPS=	${.CURDIR}/Symbol.map
54798aea00SXin LICFLAGS+=	-DSYMBOL_VERSIONING
55798aea00SXin LI
56d05257b0SRodney W. GrimesINCS=		zconf.h zlib.h
57b1c8a8dfSPeter Wemm
5828dfa008SXin LI.PATH:		${.CURDIR}/test
5928dfa008SXin LI
60b1c8a8dfSPeter Wemmminigzip:	all minigzip.o
61b1c8a8dfSPeter Wemm	$(CC) -o minigzip minigzip.o -L. -lz
62b1c8a8dfSPeter Wemm
63b1c8a8dfSPeter Wemmexample:	all example.o
64b1c8a8dfSPeter Wemm	$(CC) -o example example.o -L. -lz
65b1c8a8dfSPeter Wemm
66b1c8a8dfSPeter Wemmtest: example minigzip
67b1c8a8dfSPeter Wemm	(export LD_LIBRARY_PATH=. ; ./example )
68b1c8a8dfSPeter Wemm	(export LD_LIBRARY_PATH=. ; \
69b1c8a8dfSPeter Wemm		echo hello world | ./minigzip | ./minigzip -d )
70b1c8a8dfSPeter Wemm
7189ca4e2dSJohn-Mark Gurney.ifndef COMPAT_32BIT
72a021956cSBaptiste Daroussinbeforeinstall:
73a021956cSBaptiste Daroussin	${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
74a021956cSBaptiste Daroussin		${.CURDIR}/zlib.pc ${DESTDIR}${LIBDATADIR}/pkgconfig
7589ca4e2dSJohn-Mark Gurney.endif
76a021956cSBaptiste Daroussin
77b1c8a8dfSPeter Wemm.include <bsd.lib.mk>
7807b202a8SDimitry Andric
7907b202a8SDimitry Andric## XXX: clang integrated-as doesn't grok .intel_syntax directives yet
8007b202a8SDimitry Andric#ACFLAGS.gvmat64.S=	${CLANG_NO_IAS}
8107b202a8SDimitry Andric#ACFLAGS+=		${ACFLAGS.${.IMPSRC:T}}
82