Files
magic/database/Makefile.in
T
Darryl L. MilesandClaude Opus 4.8 2b4fcf5968 build: include rules.mak from source, drop the build-top copy
rules.mak has no @...@ substitutions, so there is no reason to copy it into
the build top.  Point all 38 subdir Makefile.in includes at the source copy
directly -- ${MAGICSRC}/rules.mak instead of ${MAGICDIR}/rules.mak -- and
remove AC_CONFIG_FILES([rules.mak:rules.mak]) from configure.  defs.mak (the
one make fragment with substitutions) remains the only generated file in the
build top.  readline/ and the top Makefile never included rules.mak, so they
are unaffected; AC_CONFIG_SRCDIR(rules.mak) (the srcdir sentinel) is kept.

Now editing rules.mak in the source tree takes effect without reconfiguring.

Verified rc=0, 375 files, both in-tree and out-of-tree; out-of-tree build
top has no rules.mak; distclean rc=0.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-07-26 14:54:11 -04:00

38 lines
1.7 KiB
Makefile

#
# Makefile rcsid $Header: /usr/cvsroot/magic-8.0/database/Makefile,v 1.1.1.1 2008/02/03 20:43:50 tim Exp $
#
MODULE = database
# Provided by configure: the module's source dir + the build top.
# defs.mak sees `srcdir` already set and skips its own srcdir derivation.
srcdir = @srcdir@
VPATH = @srcdir@
MAGICDIR = @top_builddir@
LIB_SRCS =
SRCS = DBbound.c DBcell.c DBcellbox.c DBcellcopy.c \
DBcellname.c DBcellsrch.c DBcellsel.c DBcellsubr.c \
DBconnect.c DBcount.c DBexpand.c DBio.c DBlabel.c DBlabel2.c \
DBpaint2.c DBpaint.c DBprop.c DBtech.c DBtcontact.c \
DBtechname.c DBtpaint.c DBtpaint2.c DBtechtype.c \
DBtiles.c DBtimestmp.c DBundo.c
include ${MAGICDIR}/defs.mak
LIB_OBJS += ${MAGICDIR}/tiles/libtiles.o ${MAGICDIR}/utils/libutils.o
# 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, which owns ${DATABASE_H}
# (its location varies with in-tree vs relocated builds -- see defs.mak GENINC).
database.h: ${MAGICSRC}/database/database.h.in
${MAKE} -C ${MAGICDIR} $(patsubst ${MAGICDIR}/%,%,${DATABASE_H})
include ${MAGICSRC}/rules.mak