Makefile: database.h removal by toplevel Makefile

This commit is contained in:
Darryl L. Miles
2025-07-29 10:50:32 -04:00
committed by R. Timothy Edwards
parent f0ade2fc55
commit 2947e7ea3d
2 changed files with 16 additions and 3 deletions
+13 -1
View File
@@ -15,6 +15,18 @@ SRCS = DBbound.c DBcell.c DBcellbox.c DBcellcopy.c \
include ${MAGICDIR}/defs.mak
LIB_OBJS += ${MAGICDIR}/tiles/libtiles.o ${MAGICDIR}/utils/libutils.o
CLEANS += database.h
# database.h is managed by the toplevel Makefile, because it has a build dependency
# order affecting multiple modules that need it. Both the creation time and the
# removal time (during 'clean') are managed by toplevel Makefile.
# if it was additionally removed by this clause here, it only causes bogus errors
# to be seen during some make operations due to race conditions caused by the
# unexpected removal by this clause in parallel MAKE execution of other modules
# that thought the file existed. FWIW database.h should be created first (near the
# start of top level build) and removed last (near the end of a top level clean).
#CLEANS += database.h
# This is delegated back to the top level Makefile
database.h: ${MAGICDIR}/database/database.h.in
${MAKE} -C ${MAGICDIR} database/database.h
include ${MAGICDIR}/rules.mak