]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libmagic/Makefile
ping(8): Fix a mandoc related issue
[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}
7 .PATH: ${CONTRDIR}/src
8 .PATH: ${CONTRDIR}/doc
9
10 LIB=    magic
11 SHLIB_MAJOR=    4
12 .if !make(build-tools)
13 LIBADD= z
14 .endif
15 MAN=    libmagic.3 magic.5
16
17 SRCS=   apprentice.c apptype.c ascmagic.c buffer.c cdf.c cdf_time.c \
18         compress.c der.c encoding.c fsmagic.c funcs.c is_json.c \
19         is_csv.c \
20         is_tar.c magic.c print.c readcdf.c readelf.c seccomp.c softmagic.c
21 INCS=   magic.h
22
23 MAGICPATH?=     /usr/share/misc
24
25 CFLAGS+= -DMAGIC='"${MAGICPATH}/magic"' -DHAVE_CONFIG_H
26 CFLAGS+= -I${.CURDIR} -I${.OBJDIR} -I${CONTRDIR}/src
27
28 WARNS?=         3
29
30 CLEANFILES+=    magic magic.mgc
31
32 FILES=          magic magic.mgc
33 FILESDIR=       ${MAGICPATH}
34
35 MAGFILES=       ${CONTRDIR}/magic/Header \
36                 ${CONTRDIR}/magic/Localstuff \
37                 ${CONTRDIR}/magic/Magdir/[a-z]*
38
39
40 PACKAGE_VERSION!=       sed -n '/define.*PACKAGE_VERSION/{s,[^0-9.],,gp;q;}' ${.CURDIR}/config.h
41
42 libmagic.pc: libmagic.pc.in
43         sed -e 's,@prefix@,/usr,g ; \
44                 s,@exec_prefix@,$${prefix},g ; \
45                 s,@libdir@,$${exec_prefix}/lib,g ; \
46                 s,@sharedlibdir@,$${libdir},g ; \
47                 s,@includedir@,$${prefix}/include,g ; \
48                 s,@VERSION@,${PACKAGE_VERSION},g ; \
49                 s,@LIBS@,,g ;' \
50                 ${.ALLSRC} > ${.TARGET}
51
52 magic: ${MAGFILES}
53         cat ${.ALLSRC:O} > ${.TARGET}
54
55 magic.mgc: magic
56         ${BTOOLSPATH:U.}/mkmagic magic
57
58 .if ${MACHINE} == "host" || ${MK_DIRDEPS_BUILD} == "no"
59 CLEANFILES+=    mkmagic
60 DEPENDOBJS+=    mkmagic
61 build-tools: mkmagic
62 mkmagic: apprentice.c cdf_time.c encoding.c funcs.c magic.c print.c ${INCS} ${BUILD_TOOLS_META}
63         ${CC:N${CCACHE_BIN}} ${CFLAGS} -DCOMPILE_ONLY ${LDFLAGS} -o ${.TARGET} \
64             ${.ALLSRC:N*.h:O:u} ${LDADD}
65
66 .endif
67 .if ${MK_DIRDEPS_BUILD} == "yes"
68 BTOOLSPATH= ${HOST_OBJTOP}/${RELDIR}
69 .else
70 magic.mgc: mkmagic
71 .endif
72
73 FILEVER!= awk '$$1 == "\#define" && $$2 == "VERSION" { print $$3; exit }' \
74                         ${.CURDIR}/config.h
75 CLEANFILES+=    ${MAN}
76 .for mp in ${MAN}
77 ${mp}: ${mp:C/[0-9]/man/}
78         sed -e 's/__FSECTION__/5/g' -e 's/__CSECTION__/1/g' \
79                 -e 's/__VERSION__/${FILEVER}/g' \
80                 -e 's,__MAGIC__,${MAGICPATH}/magic,g' ${.ALLSRC} > ${.TARGET}
81 .endfor
82
83 CLEANFILES+=    ${INCS}
84 .for inc in ${INCS}
85 ${inc}: ${inc}.in
86         sed -e 's,X.YY,${FILEVER:S,",,g:S,.,,g},g' ${.ALLSRC} > ${.TARGET}
87 .endfor
88
89 FILES+=                 libmagic.pc
90 FILESDIR_libmagic.pc=   ${LIBDATADIR}/pkgconfig
91
92 .include <bsd.lib.mk>