From d2650e48333beed8553d36e740556d60375a77e0 Mon Sep 17 00:00:00 2001 From: "Darryl L. Miles" Date: Wed, 22 Jul 2026 18:38:15 +0000 Subject: [PATCH] build: convert nested children + rewire parent recursion to native Convert the last nested children to Makefile.in and switch their parents from the -f fallback to native recursion (they now have generated build Makefiles). Rename and rewire are one unit: a pure rename would break the parent's -f path to the (now-.in) child. Converted (5): scmos/cif_template, doc/man, doc/tutcells, doc/html, doc/latexfiles. Pure renames -- still build via the srcdir derivation; @srcdir@ substitution follows. Rewired to native `make -C ` (config.status now creates the child build dirs + Makefiles): * scmos/Makefile.in: cif_template build + clean. * doc/Makefile.in: install/install-tcl over man/tutcells/html/latexfiles. * Makefile.in: the docs: target -> `make -k -C doc/latexfiles all`. The `mkdir -p` and `-f ${MAGICSRC}/.../Makefile` are dropped in each. * configure.in: AC_CONFIG_FILES for the 5 children; regenerated configure. * .gitignore: ignore each generated child Makefile, same commit. Verified out-of-tree: full `make && make install` rc=0, 376 files -- scmos recurses natively into cif_template (8 objs), docs regenerate via native doc/latexfiles (27/28), man pages install via native doc/man. Co-Authored-By: Claude Opus 4.8 (1M context) --- .gitignore | 5 +++++ Makefile.in | 3 +-- doc/Makefile.in | 4 ++-- doc/html/{Makefile => Makefile.in} | 0 doc/latexfiles/{Makefile => Makefile.in} | 0 doc/man/{Makefile => Makefile.in} | 0 doc/tutcells/{Makefile => Makefile.in} | 0 scmos/Makefile.in | 7 +++---- scmos/cif_template/{Makefile => Makefile.in} | 0 scripts/configure | 15 +++++++++++++++ scripts/configure.in | 5 +++++ 11 files changed, 31 insertions(+), 8 deletions(-) rename doc/html/{Makefile => Makefile.in} (100%) rename doc/latexfiles/{Makefile => Makefile.in} (100%) rename doc/man/{Makefile => Makefile.in} (100%) rename doc/tutcells/{Makefile => Makefile.in} (100%) rename scmos/cif_template/{Makefile => Makefile.in} (100%) diff --git a/.gitignore b/.gitignore index 9b071905..1df4cee1 100644 --- a/.gitignore +++ b/.gitignore @@ -60,6 +60,11 @@ tcltk/Makefile scmos/Makefile doc/Makefile lisp/Makefile +scmos/cif_template/Makefile +doc/man/Makefile +doc/tutcells/Makefile +doc/html/Makefile +doc/latexfiles/Makefile # Compiled objects / libraries *.o diff --git a/Makefile.in b/Makefile.in index 8499cd03..0bc0026c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -131,8 +131,7 @@ techs: depend .PHONY: docs docs: @echo --- making documentation - @mkdir -p doc/latexfiles - @${MAKE} -k -C doc/latexfiles -f ${MAGICSRC}/doc/latexfiles/Makefile all || \ + @${MAKE} -k -C doc/latexfiles all || \ echo "--- WARNING: some documents did not regenerate; the pre-built PostScript will be used for those at 'make install'" install: $(INSTALL_TARGET) diff --git a/doc/Makefile.in b/doc/Makefile.in index e43419b0..44beaf8f 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -23,11 +23,11 @@ DOC_SUBDIRS = latexfiles man tutcells html install-tcl: for dir in ${DOC_SUBDIRS}; do \ - mkdir -p $$dir && ${MAKE} -C $$dir -f ${MAGICSRC}/doc/$$dir/Makefile install; done + ${MAKE} -C $$dir install; done install: for dir in ${DOC_SUBDIRS}; do \ - mkdir -p $$dir && ${MAKE} -C $$dir -f ${MAGICSRC}/doc/$$dir/Makefile install; done + ${MAKE} -C $$dir install; done print_only: force lpr -h ${PSDIR}/copyright.ps diff --git a/doc/html/Makefile b/doc/html/Makefile.in similarity index 100% rename from doc/html/Makefile rename to doc/html/Makefile.in diff --git a/doc/latexfiles/Makefile b/doc/latexfiles/Makefile.in similarity index 100% rename from doc/latexfiles/Makefile rename to doc/latexfiles/Makefile.in diff --git a/doc/man/Makefile b/doc/man/Makefile.in similarity index 100% rename from doc/man/Makefile rename to doc/man/Makefile.in diff --git a/doc/tutcells/Makefile b/doc/tutcells/Makefile.in similarity index 100% rename from doc/tutcells/Makefile rename to doc/tutcells/Makefile.in diff --git a/scmos/Makefile.in b/scmos/Makefile.in index c0564351..f3f04407 100644 --- a/scmos/Makefile.in +++ b/scmos/Makefile.in @@ -103,13 +103,12 @@ $(HCIFin): $(HCIFout): $(SCIFin): $(SCIFout): - mkdir -p cif_template - ${MAKE} -C cif_template -f ${MAGICSRC}/scmos/cif_template/Makefile clean - ${MAKE} -C cif_template -f ${MAGICSRC}/scmos/cif_template/Makefile + ${MAKE} -C cif_template clean + ${MAKE} -C cif_template $(DESTDIR)${INSTALL_SYSDIR}/%: % cp $< $(DESTDIR)${INSTALL_SYSDIR}/$* clean:; -$(RM) *.tech *.tech27 - test -d cif_template && ${MAKE} -C cif_template -f ${MAGICSRC}/scmos/cif_template/Makefile clean || true + test -d cif_template && ${MAKE} -C cif_template clean || true diff --git a/scmos/cif_template/Makefile b/scmos/cif_template/Makefile.in similarity index 100% rename from scmos/cif_template/Makefile rename to scmos/cif_template/Makefile.in diff --git a/scripts/configure b/scripts/configure index bb2948f4..ee87858e 100755 --- a/scripts/configure +++ b/scripts/configure @@ -9479,6 +9479,16 @@ ac_config_files="$ac_config_files doc/Makefile:doc/Makefile.in" ac_config_files="$ac_config_files lisp/Makefile:lisp/Makefile.in" +ac_config_files="$ac_config_files scmos/cif_template/Makefile:scmos/cif_template/Makefile.in" + +ac_config_files="$ac_config_files doc/man/Makefile:doc/man/Makefile.in" + +ac_config_files="$ac_config_files doc/tutcells/Makefile:doc/tutcells/Makefile.in" + +ac_config_files="$ac_config_files doc/html/Makefile:doc/html/Makefile.in" + +ac_config_files="$ac_config_files doc/latexfiles/Makefile:doc/latexfiles/Makefile.in" + if test "`cd $srcdir && pwd`" = "`pwd`" ; then magic_config_header=magic/autoconf/config.h @@ -10248,6 +10258,11 @@ do "scmos/Makefile") CONFIG_FILES="$CONFIG_FILES scmos/Makefile:scmos/Makefile.in" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile:doc/Makefile.in" ;; "lisp/Makefile") CONFIG_FILES="$CONFIG_FILES lisp/Makefile:lisp/Makefile.in" ;; + "scmos/cif_template/Makefile") CONFIG_FILES="$CONFIG_FILES scmos/cif_template/Makefile:scmos/cif_template/Makefile.in" ;; + "doc/man/Makefile") CONFIG_FILES="$CONFIG_FILES doc/man/Makefile:doc/man/Makefile.in" ;; + "doc/tutcells/Makefile") CONFIG_FILES="$CONFIG_FILES doc/tutcells/Makefile:doc/tutcells/Makefile.in" ;; + "doc/html/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/Makefile:doc/html/Makefile.in" ;; + "doc/latexfiles/Makefile") CONFIG_FILES="$CONFIG_FILES doc/latexfiles/Makefile:doc/latexfiles/Makefile.in" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac diff --git a/scripts/configure.in b/scripts/configure.in index ed129d7a..73c7328d 100644 --- a/scripts/configure.in +++ b/scripts/configure.in @@ -2045,6 +2045,11 @@ AC_CONFIG_FILES([tcltk/Makefile:tcltk/Makefile.in]) AC_CONFIG_FILES([scmos/Makefile:scmos/Makefile.in]) AC_CONFIG_FILES([doc/Makefile:doc/Makefile.in]) AC_CONFIG_FILES([lisp/Makefile:lisp/Makefile.in]) +AC_CONFIG_FILES([scmos/cif_template/Makefile:scmos/cif_template/Makefile.in]) +AC_CONFIG_FILES([doc/man/Makefile:doc/man/Makefile.in]) +AC_CONFIG_FILES([doc/tutcells/Makefile:doc/tutcells/Makefile.in]) +AC_CONFIG_FILES([doc/html/Makefile:doc/html/Makefile.in]) +AC_CONFIG_FILES([doc/latexfiles/Makefile:doc/latexfiles/Makefile.in]) dnl Emit an autoconf config header, available to the tree as dnl #include