build - Fix buildworld from DFly releases prior to 5.0.
authorMatthew Dillon <dillon@apollo.backplane.com>
Fri, 26 Oct 2018 02:56:40 +0000 (19:56 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Fri, 26 Oct 2018 02:56:40 +0000 (19:56 -0700)
* Fix mkmagic to not use the magic.h in /usr/include.  It
  needs the magic.h generated via libmagic.  Since mkmagic
  must be built prior to libmagic, we generate a local magic.h
  just for mkmagic.

* Fixes buildworld from DFly releases prior to 5.0.

lib/libmagic/mkmagic/Makefile

index 20e4ef5..238bb1d 100644 (file)
@@ -2,7 +2,8 @@ CONTRIBDIR=     ${.CURDIR}/../../../contrib/file/src
 .PATH: ${CONTRIBDIR}
 
 PROG=  mkmagic
-SRCS=  apprentice.c encoding.c cdf_time.c funcs.c magic.c print.c
+INCS=  magic.h
+SRCS=  apprentice.c encoding.c cdf_time.c funcs.c magic.c print.c ${INCS}
 
 MAGICSHAREDIR=${SHAREDIR}/misc
 MAGIC= ${MAGICSHAREDIR}/magic
@@ -10,6 +11,8 @@ MAGIC=        ${MAGICSHAREDIR}/magic
 CFLAGS+=       -DHAVE_CONFIG_H -DCOMPILE_ONLY -DMAGIC=\"${MAGIC}\"
 CFLAGS+=       -I${.CURDIR}/../libmagic
 
+VER!=  grep -w VERSION ${.CURDIR}/../libmagic/config.h | awk -F\" '{print $$2}'
+
 # XXX -Wunused-function in apprentice.c
 WARNS= 1
 
@@ -18,4 +21,9 @@ build-tools: mkmagic.nx
 # this mkmagic is used in place, it is not installed anywhere
 install:
 
+.for inc in ${INCS}
+${inc}: ${inc}.in
+       sed -e 's,X.YY,${VER:S,",,g:S,.,,g},g' ${.ALLSRC} > ${.TARGET}
+.endfor
+
 .include <bsd.hostprog.mk>