xref: /freebsd/lib/libmagic/Makefile (revision 8929675e11c0c64ff96a2441082794980c9c6b2e)
180c86c36SDavid E. O'Brien# Copyright (c) David E. O'Brien, 2000-2004, 2006, 2009
220164649SDavid E. O'Brien
3a70cba95SGlen BarberPACKAGE=lib${LIB}
41ec0c0f5SEnji CooperCONTRDIR=	${SRCTOP}/contrib/file
52726a701SXin LI.PATH: ${CONTRDIR}
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
14031e7116SLexi Winter
15031e7116SLexi WinterMAN=		libmagic.3
16031e7116SLexi WinterMANNODEV=	magic.5
1720164649SDavid E. O'Brien
1898131b3eSCy SchubertSRCS=	apprentice.c apptype.c ascmagic.c buffer.c cdf.c cdf_time.c \
1948c779cdSXin LI	compress.c der.c encoding.c fsmagic.c funcs.c is_json.c \
20d38c30c0SXin LI	is_csv.c \
21898496eeSXin LI	is_simh.c \
22*8929675eSXin LI	is_tar.c magic.c print.c readcdf.c readelf.c seccomp.c softmagic.c \
23*8929675eSXin LI	swap.c
24*8929675eSXin LISRCS+=	magic.h
258e6acec2SDavid E. O'BrienINCS=	magic.h
2620164649SDavid E. O'Brien
277866c62aSDavid E. O'BrienMAGICPATH?=	/usr/share/misc
2820164649SDavid E. O'Brien
29b3f1b4a2SDavid E. O'BrienCFLAGS+= -DMAGIC='"${MAGICPATH}/magic"' -DHAVE_CONFIG_H
30424340f2SXin LICFLAGS+= -I${.CURDIR} -I${.OBJDIR} -I${CONTRDIR}/src
3120164649SDavid E. O'Brien
329433144dSMarius StroblWARNS?=		3
33daaf5759SEd Schouten
34008ca870SDavid E. O'BrienCLEANFILES+=	magic magic.mgc
3520164649SDavid E. O'Brien
36008ca870SDavid E. O'BrienFILES=		magic magic.mgc
3720164649SDavid E. O'BrienFILESDIR=	${MAGICPATH}
3820164649SDavid E. O'Brien
39b6cee71dSXin LIMAGFILES=	${CONTRDIR}/magic/Header \
40b6cee71dSXin LI		${CONTRDIR}/magic/Localstuff \
41b6cee71dSXin LI		${CONTRDIR}/magic/Magdir/[a-z]*
4220164649SDavid E. O'Brien
432726a701SXin LI
442726a701SXin LIPACKAGE_VERSION!=	sed -n '/define.*PACKAGE_VERSION/{s,[^0-9.],,gp;q;}' ${.CURDIR}/config.h
452726a701SXin LI
462726a701SXin LIlibmagic.pc: libmagic.pc.in
472726a701SXin LI	sed -e 's,@prefix@,/usr,g ; \
482726a701SXin LI		s,@exec_prefix@,$${prefix},g ; \
49ac175bd3SAlex Richardson		s,@libdir@,${LIBDIR},g ; \
50ac175bd3SAlex Richardson		s,@sharedlibdir@,${SHLIBDIR},g ; \
51ac175bd3SAlex Richardson		s,@includedir@,${INCLUDEDIR},g ; \
522726a701SXin LI		s,@VERSION@,${PACKAGE_VERSION},g ; \
532726a701SXin LI		s,@LIBS@,,g ;' \
542726a701SXin LI                ${.ALLSRC} > ${.TARGET}
552726a701SXin LI
5620164649SDavid E. O'Brienmagic: ${MAGFILES}
5728ab4bb8SXin LI	cat ${.ALLSRC:O} > ${.TARGET}
5820164649SDavid E. O'Brien
59b114e8fcSSimon J. Gerratymagic.mgc: magic
6029df9f6bSBryan Drewery	${BTOOLSPATH:U.}/mkmagic magic
6120164649SDavid E. O'Brien
62312809feSSimon J. Gerraty.if ${MACHINE} == "host" || ${MK_DIRDEPS_BUILD} == "no"
6320164649SDavid E. O'BrienCLEANFILES+=	mkmagic
64c63c5ab0SBryan DreweryDEPENDOBJS+=	mkmagic
6520164649SDavid E. O'Brienbuild-tools: mkmagic
6639f6f6f1SStephen J. Kiernan# For the non-dirdeps build, HOST_CC is CC by default
67*8929675eSXin LImkmagic: apprentice.c cdf_time.c encoding.c funcs.c magic.c print.c swap.c ${INCS} ${BUILD_TOOLS_META}
6839f6f6f1SStephen J. Kiernan	${HOST_CC:N${CCACHE_BIN}} ${CFLAGS} -DCOMPILE_ONLY ${LDFLAGS} -o ${.TARGET} \
69c63c5ab0SBryan Drewery	    ${.ALLSRC:N*.h:O:u} ${LDADD}
7020164649SDavid E. O'Brien
71312809feSSimon J. Gerraty.endif
7239f6f6f1SStephen J. Kiernan.if ${MK_DIRDEPS_BUILD} == "yes" && ${MACHINE} != "host"
73312809feSSimon J. GerratyBTOOLSPATH= ${HOST_OBJTOP}/${RELDIR}
74b114e8fcSSimon J. Gerraty.else
75b114e8fcSSimon J. Gerratymagic.mgc: mkmagic
76312809feSSimon J. Gerraty.endif
77312809feSSimon J. Gerraty
786bd0a54aSRuslan ErmilovFILEVER!= awk '$$1 == "\#define" && $$2 == "VERSION" { print $$3; exit }' \
796bd0a54aSRuslan Ermilov			${.CURDIR}/config.h
80031e7116SLexi WinterCLEANFILES+=	${MAN} ${MANNODEV}
81031e7116SLexi Winter.for mp in ${MAN} ${MANNODEV}
8220164649SDavid E. O'Brien${mp}: ${mp:C/[0-9]/man/}
8320164649SDavid E. O'Brien	sed -e 's/__FSECTION__/5/g' -e 's/__CSECTION__/1/g' \
8420164649SDavid E. O'Brien		-e 's/__VERSION__/${FILEVER}/g' \
8520164649SDavid E. O'Brien		-e 's,__MAGIC__,${MAGICPATH}/magic,g' ${.ALLSRC} > ${.TARGET}
8620164649SDavid E. O'Brien.endfor
8720164649SDavid E. O'Brien
88282e23f0SXin LICLEANFILES+=	${INCS}
89282e23f0SXin LI.for inc in ${INCS}
90282e23f0SXin LI${inc}: ${inc}.in
91282e23f0SXin LI	sed -e 's,X.YY,${FILEVER:S,",,g:S,.,,g},g' ${.ALLSRC} > ${.TARGET}
92282e23f0SXin LI.endfor
93282e23f0SXin LI
94500f4659SEmmanuel VadotPCFILES=	libmagic.pc
952726a701SXin LI
9620164649SDavid E. O'Brien.include <bsd.lib.mk>
97