]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libmagic/Makefile
Followup to r347996
[FreeBSD/FreeBSD.git] / lib / libmagic / Makefile
1 # $FreeBSD$
2 # Copyright (c) David E. O'Brien, 2000-2004, 2006, 2009
3
4 PACKAGE=lib${LIB}
5 CONTRDIR=       ${SRCTOP}/contrib/file
6 .PATH: ${CONTRDIR}/src
7 .PATH: ${CONTRDIR}/doc
8
9 LIB=    magic
10 SHLIB_MAJOR=    4
11 .if !make(build-tools)
12 LIBADD= z
13 .endif
14 MAN=    libmagic.3 magic.5
15
16 SRCS=   apprentice.c apptype.c ascmagic.c buffer.c cdf.c cdf_time.c \
17         compress.c der.c encoding.c fsmagic.c funcs.c \
18         is_tar.c magic.c print.c readcdf.c readelf.c seccomp.c softmagic.c
19 INCS=   magic.h
20
21 MAGICPATH?=     /usr/share/misc
22
23 CFLAGS+= -DMAGIC='"${MAGICPATH}/magic"' -DHAVE_CONFIG_H
24 CFLAGS+= -I${.CURDIR} -I${.OBJDIR} -I${CONTRDIR}/src
25
26 WARNS?=         3
27
28 CLEANFILES+=    magic magic.mgc
29
30 FILES=          magic magic.mgc
31 FILESDIR=       ${MAGICPATH}
32
33 MAGFILES=       ${CONTRDIR}/magic/Header \
34                 ${CONTRDIR}/magic/Localstuff \
35                 ${CONTRDIR}/magic/Magdir/[a-z]*
36
37 magic: ${MAGFILES}
38         cat ${.ALLSRC:O} > ${.TARGET}
39
40 magic.mgc: mkmagic magic
41         ${BTOOLSPATH:U.}/mkmagic magic
42
43 CLEANFILES+=    mkmagic
44 build-tools: mkmagic
45 mkmagic: apprentice.c cdf_time.c encoding.c funcs.c magic.c print.c ${INCS} ${BUILD_TOOLS_META}
46         ${CC:N${CCACHE_BIN}} ${CFLAGS} -DCOMPILE_ONLY ${LDFLAGS} -o ${.TARGET} ${.ALLSRC:N*.h} \
47             ${LDADD}
48
49 FILEVER!= awk '$$1 == "\#define" && $$2 == "VERSION" { print $$3; exit }' \
50                         ${.CURDIR}/config.h
51 CLEANFILES+=    ${MAN}
52 .for mp in ${MAN}
53 ${mp}: ${mp:C/[0-9]/man/}
54         sed -e 's/__FSECTION__/5/g' -e 's/__CSECTION__/1/g' \
55                 -e 's/__VERSION__/${FILEVER}/g' \
56                 -e 's,__MAGIC__,${MAGICPATH}/magic,g' ${.ALLSRC} > ${.TARGET}
57 .endfor
58
59 CLEANFILES+=    ${INCS}
60 .for inc in ${INCS}
61 ${inc}: ${inc}.in
62         sed -e 's,X.YY,${FILEVER:S,",,g:S,.,,g},g' ${.ALLSRC} > ${.TARGET}
63 .endfor
64
65 .include <bsd.lib.mk>