07b202a847
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
74 lines
1.5 KiB
Makefile
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}}
|