freebsd-dev/lib/libz/Makefile
Dimitry Andric 07b202a847 Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, to
get rid of testing explicitly for clang (using ${CC:T:Mclang}) in
individual Makefiles.

Instead, use the following extra macros, for use with clang:
- NO_WERROR.clang       (disables -Werror)
- NO_WCAST_ALIGN.clang  (disables -Wcast-align)
- NO_WFORMAT.clang	(disables -Wformat and friends)
- CLANG_NO_IAS		(disables integrated assembler)
- CLANG_OPT_SMALL	(adds flags for extra small size optimizations)

As a side effect, this enables setting CC/CXX/CPP in src.conf instead of
make.conf!  For clang, use the following:

CC=clang
CXX=clang++
CPP=clang-cpp

MFC after:	2 weeks
2012-02-28 18:30:18 +00:00

74 lines
1.5 KiB
Makefile

#
# $FreeBSD$
#
LIB= z
SHLIBDIR?= /lib
SHLIB_MAJOR= 6
MAN= zlib.3
#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+= zopen.c
SRCS+= zutil.c
.if ${MACHINE_ARCH} == "i386" && ${MACHINE_CPU:M*i686*}
.PATH: ${.CURDIR}/contrib/asm686
SRCS+= match.S
CFLAGS+= -DASMV -DNO_UNDERLINE
ACFLAGS+= -Wa,--noexecstack
.endif
#.if ${MACHINE_ARCH} == "amd64"
#.PATH: ${.CURDIR}/contrib/gcc_gvmat64
#SRCS+= gvmat64.S
#CFLAGS+= -DASMV -DNO_UNDERLINE
#ACFLAGS+= -Wa,--noexecstack
#.endif
VERSION_DEF= ${.CURDIR}/Versions.def
SYMBOL_MAPS= ${.CURDIR}/Symbol.map
CFLAGS+= -DSYMBOL_VERSIONING
INCS= zconf.h zlib.h
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 )
.include <bsd.lib.mk>
## XXX: clang integrated-as doesn't grok .intel_syntax directives yet
#ACFLAGS.gvmat64.S= ${CLANG_NO_IAS}
#ACFLAGS+= ${ACFLAGS.${.IMPSRC:T}}