24c14ab87e
The current invocation of unifdef causes the build to fail when using a shell with -o pipefail on by default since unifdef will return a non-zero exit status if it changes something. The only thing this call to unifdef does is remove 5 lines that will be ignored by the compiler anyway. Furthermore, it is the only make rule in the source tree that requires unifdef. Removing this call also makes it slightly easier to build without inhering $PATH (D16815) since we don't need unifdef anymore. I also noticed that the sed call to replace the include guard has been broken for over 10 years since the import of expat 2.0.1 changed it from `XmlParse_INCLUDED` to `Expat_INCLUDED`. I could also fix this but since it's been broken for so long and no one noticed, it's probably not necessary. Reviewed By: emaste Approved By: jhb (mentor) Differential Revision: https://reviews.freebsd.org/D14317
34 lines
833 B
Makefile
34 lines
833 B
Makefile
# $FreeBSD$
|
|
|
|
PACKAGE=lib${LIB}
|
|
EXPAT= ${SRCTOP}/contrib/expat
|
|
|
|
LIB= bsdxml
|
|
SHLIBDIR?= /lib
|
|
SHLIB_MAJOR= 4
|
|
SRCS= xmlparse.c xmlrole.c xmltok.c
|
|
INCS= bsdxml.h bsdxml_external.h
|
|
MAN= libbsdxml.3
|
|
|
|
.PATH: ${EXPAT}/lib
|
|
|
|
CFLAGS+= -I${.CURDIR} -DHAVE_EXPAT_CONFIG_H
|
|
CLEANFILES= bsdxml.h bsdxml_external.h
|
|
|
|
WARNS?= 2
|
|
|
|
# OK, so it is not entirely unadulterated: we amend the COPYING to
|
|
# point people to the right place and use FreeBSD-style include guards.
|
|
# We also want to point it at the new bsdxml_external.h rather than the
|
|
# old expat_external.h file.
|
|
bsdxml.h: expat.h
|
|
sed -e 's/XmlParse_INCLUDED/_BSD_XML_H_/' \
|
|
-e 's/COPYING/src\/contrib\/expat\/COPYING/' \
|
|
-e 's/expat_external/bsdxml_external/' ${.ALLSRC} \
|
|
> ${.TARGET}
|
|
|
|
bsdxml_external.h: expat_external.h
|
|
${CP} ${.ALLSRC} ${.TARGET}
|
|
|
|
.include <bsd.lib.mk>
|