xref: /freebsd/lib/libmagic/Makefile (revision 48c779cdecb5f803e5fe5d761987e976ca9609db)
120164649SDavid E. O'Brien# $FreeBSD$
280c86c36SDavid E. O'Brien# Copyright (c) David E. O'Brien, 2000-2004, 2006, 2009
320164649SDavid E. O'Brien
4a70cba95SGlen BarberPACKAGE=lib${LIB}
51ec0c0f5SEnji CooperCONTRDIR=	${SRCTOP}/contrib/file
6b6cee71dSXin LI.PATH: ${CONTRDIR}/src
7b6cee71dSXin LI.PATH: ${CONTRDIR}/doc
820164649SDavid E. O'Brien
920164649SDavid E. O'BrienLIB=	magic
103ca3047aSKen SmithSHLIB_MAJOR=	4
117fe5130dSBryan Drewery.if !make(build-tools)
126b129086SBaptiste DaroussinLIBADD=	z
137fe5130dSBryan Drewery.endif
1420164649SDavid E. O'BrienMAN=	libmagic.3 magic.5
1520164649SDavid E. O'Brien
1698131b3eSCy SchubertSRCS=	apprentice.c apptype.c ascmagic.c buffer.c cdf.c cdf_time.c \
17*48c779cdSXin LI	compress.c der.c encoding.c fsmagic.c funcs.c is_json.c \
18018798beSCy Schubert	is_tar.c magic.c print.c readcdf.c readelf.c seccomp.c softmagic.c
198e6acec2SDavid E. O'BrienINCS=	magic.h
2020164649SDavid E. O'Brien
217866c62aSDavid E. O'BrienMAGICPATH?=	/usr/share/misc
2220164649SDavid E. O'Brien
23b3f1b4a2SDavid E. O'BrienCFLAGS+= -DMAGIC='"${MAGICPATH}/magic"' -DHAVE_CONFIG_H
24424340f2SXin LICFLAGS+= -I${.CURDIR} -I${.OBJDIR} -I${CONTRDIR}/src
2520164649SDavid E. O'Brien
269433144dSMarius StroblWARNS?=		3
27daaf5759SEd Schouten
28008ca870SDavid E. O'BrienCLEANFILES+=	magic magic.mgc
2920164649SDavid E. O'Brien
30008ca870SDavid E. O'BrienFILES=		magic magic.mgc
3120164649SDavid E. O'BrienFILESDIR=	${MAGICPATH}
3220164649SDavid E. O'Brien
33b6cee71dSXin LIMAGFILES=	${CONTRDIR}/magic/Header \
34b6cee71dSXin LI		${CONTRDIR}/magic/Localstuff \
35b6cee71dSXin LI		${CONTRDIR}/magic/Magdir/[a-z]*
3620164649SDavid E. O'Brien
3720164649SDavid E. O'Brienmagic: ${MAGFILES}
3828ab4bb8SXin LI	cat ${.ALLSRC:O} > ${.TARGET}
3920164649SDavid E. O'Brien
4020164649SDavid E. O'Brienmagic.mgc: mkmagic magic
4129df9f6bSBryan Drewery	${BTOOLSPATH:U.}/mkmagic magic
4220164649SDavid E. O'Brien
4320164649SDavid E. O'BrienCLEANFILES+=	mkmagic
44c63c5ab0SBryan DreweryDEPENDOBJS+=	mkmagic
4520164649SDavid E. O'Brienbuild-tools: mkmagic
46424340f2SXin LImkmagic: apprentice.c cdf_time.c encoding.c funcs.c magic.c print.c ${INCS} ${BUILD_TOOLS_META}
47c63c5ab0SBryan Drewery	${CC:N${CCACHE_BIN}} ${CFLAGS} -DCOMPILE_ONLY ${LDFLAGS} -o ${.TARGET} \
48c63c5ab0SBryan Drewery	    ${.ALLSRC:N*.h:O:u} ${LDADD}
4920164649SDavid E. O'Brien
506bd0a54aSRuslan ErmilovFILEVER!= awk '$$1 == "\#define" && $$2 == "VERSION" { print $$3; exit }' \
516bd0a54aSRuslan Ermilov			${.CURDIR}/config.h
5220164649SDavid E. O'BrienCLEANFILES+=	${MAN}
5320164649SDavid E. O'Brien.for mp in ${MAN}
5420164649SDavid E. O'Brien${mp}: ${mp:C/[0-9]/man/}
5520164649SDavid E. O'Brien	sed -e 's/__FSECTION__/5/g' -e 's/__CSECTION__/1/g' \
5620164649SDavid E. O'Brien		-e 's/__VERSION__/${FILEVER}/g' \
5720164649SDavid E. O'Brien		-e 's,__MAGIC__,${MAGICPATH}/magic,g' ${.ALLSRC} > ${.TARGET}
5820164649SDavid E. O'Brien.endfor
5920164649SDavid E. O'Brien
60282e23f0SXin LICLEANFILES+=	${INCS}
61282e23f0SXin LI.for inc in ${INCS}
62282e23f0SXin LI${inc}: ${inc}.in
63282e23f0SXin LI	sed -e 's,X.YY,${FILEVER:S,",,g:S,.,,g},g' ${.ALLSRC} > ${.TARGET}
64282e23f0SXin LI.endfor
65282e23f0SXin LI
6620164649SDavid E. O'Brien.include <bsd.lib.mk>
67