freebsd-dev/lib/libz/Makefile
Jessica Clarke 8d5d329553 Bootstrap libz when cross-building from non-FreeBSD
This is needed now libdwarf depends on libz.

Fixes:		dbf05458e3 ("libdwarf: Support consumption of compressed ELF sections")
MFC after:	1 week
2021-12-06 19:16:28 +00:00

86 lines
1.8 KiB
Makefile

#
# $FreeBSD$
#
PACKAGE= runtime
LIB= z
SHLIBDIR?= /lib
SHLIB_MAJOR= 6
MAN= zlib.3 zopen.3
MLINKS+= zopen.3 zdopen.3
ZLIBSRC= ${SRCTOP}/sys/contrib/zlib
.PATH: ${ZLIBSRC}
#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
#CFLAGS=-g -DDEBUG
#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
# -Wstrict-prototypes -Wmissing-prototypes
CFLAGS+= -DHAS_snprintf -DHAS_vsnprintf -I${.CURDIR}
WARNS?= 3
CLEANFILES+= example.o example foo.gz minigzip.o minigzip
SRCS+= adler32.c
SRCS+= compress.c
SRCS+= crc32.c
SRCS+= deflate.c
SRCS+= gzclose.c
SRCS+= gzlib.c
SRCS+= gzread.c
SRCS+= gzwrite.c
SRCS+= infback.c
SRCS+= inffast.c
SRCS+= inflate.c
SRCS+= inftrees.c
SRCS+= trees.c
SRCS+= uncompr.c
SRCS+= zutil.c
# Wrapper relies on FreeBSD-specific fpos_t representation and non-portable
# funopen. Not needed for bootstrapping, so just disable it.
.if ${.MAKE.OS} == "FreeBSD" || !defined(BOOTSTRAPPING)
SRCS+= zopen.c
.endif
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64"
CFLAGS+= -DUNALIGNED_OK
.endif
VERSION_DEF= ${.CURDIR}/Versions.def
SYMBOL_MAPS= ${.CURDIR}/Symbol.map
CFLAGS+= -DSYMBOL_VERSIONING
INCS= zconf.h zlib.h
.PATH: ${ZLIBSRC}/test
ZLIB_VERSION!= sed -n '/define.*ZLIB_VERSION/{s,[^0-9.],,gp;q;}' ${ZLIBSRC}/zlib.h
zlib.pc: zlib.pc.in
sed -e 's,@prefix@,/usr,g ; \
s,@exec_prefix@,$${prefix},g ; \
s,@libdir@,$${exec_prefix}/lib,g ; \
s,@sharedlibdir@,$${libdir},g ; \
s,@includedir@,$${prefix}/include,g ; \
s,@VERSION@,${ZLIB_VERSION},g ;' \
${.ALLSRC} > ${.TARGET}
minigzip: all minigzip.o
$(CC) -o minigzip minigzip.o -L. -lz
example: all example.o
$(CC) -o example example.o -L. -lz
test: example minigzip
(export LD_LIBRARY_PATH=. ; ./example )
(export LD_LIBRARY_PATH=. ; \
echo hello world | ./minigzip | ./minigzip -d )
PCFILES= zlib.pc
.include <bsd.lib.mk>