Per Ruslan, bsd.lib.mk already has support for dynamically-generated
.h files. This simplifies the Makefile here a bit and makes it behave better in a couple of situations. While I'm here, clean up some comments and try to improve the organization a bit. Thanks to: Ruslan Ermilov (The Marvelous Makefile Guru)
This commit is contained in:
parent
2630e4c90c
commit
00ccc351f8
@ -27,7 +27,9 @@ NOPIC= 1
|
|||||||
|
|
||||||
INCS= archive.h archive_entry.h
|
INCS= archive.h archive_entry.h
|
||||||
|
|
||||||
SRCS= archive_check_magic.c \
|
# Note: archive.h does need to be listed here, since it's built
|
||||||
|
SRCS= archive.h \
|
||||||
|
archive_check_magic.c \
|
||||||
archive_entry.c \
|
archive_entry.c \
|
||||||
archive_read.c \
|
archive_read.c \
|
||||||
archive_read_data_into_buffer.c \
|
archive_read_data_into_buffer.c \
|
||||||
@ -166,20 +168,6 @@ MLINKS+= archive_write.3 archive_write_set_format_shar.3
|
|||||||
MLINKS+= archive_write.3 archive_write_set_format_ustar.3
|
MLINKS+= archive_write.3 archive_write_set_format_ustar.3
|
||||||
MLINKS+= libarchive.3 archive.3
|
MLINKS+= libarchive.3 archive.3
|
||||||
|
|
||||||
#
|
|
||||||
# archive.h is built dynamically, which has a number of implications...
|
|
||||||
#
|
|
||||||
|
|
||||||
# Ensure archive.h gets built before we compute dependencies.
|
|
||||||
beforedepend: archive.h
|
|
||||||
afterdepend:
|
|
||||||
echo "archive.h: Makefile" >> ${DEPENDFILE}
|
|
||||||
# Ensure archive.h gets built before we compile anything.
|
|
||||||
${SRCS:S/.c$/.o/}: archive.h
|
|
||||||
|
|
||||||
# archive.h needs to be cleaned
|
|
||||||
CLEANFILES+= archive.h
|
|
||||||
|
|
||||||
# Build archive.h from archive.h.in
|
# Build archive.h from archive.h.in
|
||||||
archive.h: archive.h.in Makefile
|
archive.h: archive.h.in Makefile
|
||||||
cat ${.CURDIR}/archive.h.in | \
|
cat ${.CURDIR}/archive.h.in | \
|
||||||
@ -187,8 +175,16 @@ archive.h: archive.h.in Makefile
|
|||||||
sed 's/@ARCHIVE_API_FEATURE@/${ARCHIVE_API_FEATURE}/' | \
|
sed 's/@ARCHIVE_API_FEATURE@/${ARCHIVE_API_FEATURE}/' | \
|
||||||
cat > archive.h
|
cat > archive.h
|
||||||
|
|
||||||
|
# archive.h needs to be cleaned
|
||||||
|
CLEANFILES+= archive.h
|
||||||
|
|
||||||
|
#
|
||||||
|
# Voodoo for building a distfile that uses autoconf/automake/etc.
|
||||||
|
#
|
||||||
|
|
||||||
# Files that just get copied to the distfile build directory
|
# Files that just get copied to the distfile build directory
|
||||||
DIST_WORK_DIR= ${.OBJDIR}/lib${LIB}-${VERSION}
|
DIST_WORK_DIR= ${.OBJDIR}/lib${LIB}-${VERSION}
|
||||||
|
CLEANDIRS+= ${DIST_WORK_DIR}
|
||||||
DISTFILE= lib${LIB}-${VERSION}.tar.gz
|
DISTFILE= lib${LIB}-${VERSION}.tar.gz
|
||||||
DIST_FILES= ${SRCS}
|
DIST_FILES= ${SRCS}
|
||||||
DIST_FILES+= ${MAN}
|
DIST_FILES+= ${MAN}
|
||||||
@ -197,8 +193,6 @@ DIST_FILES+= archive_entry.h archive_platform.h
|
|||||||
DIST_FILES+= archive_private.h archive_string.h
|
DIST_FILES+= archive_private.h archive_string.h
|
||||||
DIST_FILES+= Makefile.am
|
DIST_FILES+= Makefile.am
|
||||||
|
|
||||||
CLEANDIRS+= ${DIST_WORK_DIR}
|
|
||||||
|
|
||||||
distfile:
|
distfile:
|
||||||
rm -rf ${DIST_WORK_DIR}
|
rm -rf ${DIST_WORK_DIR}
|
||||||
mkdir ${DIST_WORK_DIR}
|
mkdir ${DIST_WORK_DIR}
|
||||||
|
Loading…
Reference in New Issue
Block a user