summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-07-25 17:24:28 +0000
committerKarl Berry <karl@freefriends.org>2021-07-25 17:24:28 +0000
commit4605c296898dc8fa29423271a085e2b6ed97eb77 (patch)
treee344178930afd256c3695be15086f33f589117fd /Build
parentfdd1cdfaad879053afd699ff95858bd349a8ceb5 (diff)
(lib/lib.a): explicitly list lib/*.c minus texmfmp.c as dependencies
git-svn-id: svn://tug.org/texlive/trunk@60055 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/web2c/ChangeLog6
-rw-r--r--Build/source/texk/web2c/Makefile.am28
-rw-r--r--Build/source/texk/web2c/Makefile.in29
3 files changed, 59 insertions, 4 deletions
diff --git a/Build/source/texk/web2c/ChangeLog b/Build/source/texk/web2c/ChangeLog
index e024dfb56c9..f982b880aea 100644
--- a/Build/source/texk/web2c/ChangeLog
+++ b/Build/source/texk/web2c/ChangeLog
@@ -1,3 +1,9 @@
+2021-07-25 Karl Berry <karl@freefriends.org>
+
+ * Makefile.am (proglib_sources): laboriously list all of lib/*.c
+ except texmfmp.c as dependencies, since texmfmp.c is not a
+ dependency of lib.a.
+
2021-07-25 Petr Olsak <petr@olsak.net>
and Karl Berry <karl@freefriends.org>
and Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
diff --git a/Build/source/texk/web2c/Makefile.am b/Build/source/texk/web2c/Makefile.am
index aaee85a7d1c..0ad8e4db3ab 100644
--- a/Build/source/texk/web2c/Makefile.am
+++ b/Build/source/texk/web2c/Makefile.am
@@ -78,8 +78,32 @@ web2c/stamp-web2c: $(web2c_common) ${srcdir}/web2c/*.[chly]
web2c/stamp-makecpool: $(web2c_common) ${srcdir}/web2c/makecpool.c
cd web2c && $(MAKE) $(AM_MAKEFLAGS) stamp-makecpool
-# Rebuild $(proglib)
-$(proglib): ${srcdir}/lib/*.c
+# Rebuild $(proglib). We have to list all the sources,
+# not use *.c, because texmfmp.c is not part of lib.a.
+# Otherwise make will think that lib.a will need to be remade when
+# texmfmp.c is changed, even though it doesn't. The result is that we
+# will see the ctangle calls for every cweb program, since ctangleboot
+# depends on lib.a, but isn't getting remade. So this ad hoc variable is
+# a copy of lib_a_SOURCES in lib/Makefile.am, with "${srcdir}/lib/" prepended.
+proglib_sources = \
+ ${srcdir}/lib/basechsuffix.c \
+ ${srcdir}/lib/chartostring.c \
+ ${srcdir}/lib/coredump.c \
+ ${srcdir}/lib/eofeoln.c \
+ ${srcdir}/lib/fprintreal.c \
+ ${srcdir}/lib/inputint.c \
+ ${srcdir}/lib/input2int.c \
+ ${srcdir}/lib/lib.h \
+ ${srcdir}/lib/main.c \
+ ${srcdir}/lib/openclose.c \
+ ${srcdir}/lib/printversion.c \
+ ${srcdir}/lib/setupvar.c \
+ ${srcdir}/lib/uexit.c \
+ ${srcdir}/lib/usage.c \
+ ${srcdir}/lib/version.c \
+ ${srcdir}/lib/zround.c
+
+$(proglib): $(proglib_sources)
cd lib && $(MAKE) $(AM_MAKEFLAGS) lib.a
## Rebuild libkpathsea
@KPATHSEA_RULE@
diff --git a/Build/source/texk/web2c/Makefile.in b/Build/source/texk/web2c/Makefile.in
index 28b692d962f..1b9d4a28e0e 100644
--- a/Build/source/texk/web2c/Makefile.in
+++ b/Build/source/texk/web2c/Makefile.in
@@ -3647,6 +3647,32 @@ LDADD = $(proglib) $(KPATHSEA_LIBS)
# programs that do not depend on tangle or ctangle.
default_dependencies = $(proglib) $(KPATHSEA_DEPEND)
+# Rebuild $(proglib). We have to list all the sources,
+# not use *.c, because texmfmp.c is not part of lib.a.
+# Otherwise make will think that lib.a will need to be remade when
+# texmfmp.c is changed, even though it doesn't. The result is that we
+# will see the ctangle calls for every cweb program, since ctangleboot
+# depends on lib.a, but isn't getting remade. So this ad hoc variable is
+# a copy of lib_a_SOURCES in lib/Makefile.am, with "${srcdir}/lib/" prepended.
+proglib_sources = \
+ ${srcdir}/lib/basechsuffix.c \
+ ${srcdir}/lib/chartostring.c \
+ ${srcdir}/lib/coredump.c \
+ ${srcdir}/lib/eofeoln.c \
+ ${srcdir}/lib/fprintreal.c \
+ ${srcdir}/lib/inputint.c \
+ ${srcdir}/lib/input2int.c \
+ ${srcdir}/lib/lib.h \
+ ${srcdir}/lib/main.c \
+ ${srcdir}/lib/openclose.c \
+ ${srcdir}/lib/printversion.c \
+ ${srcdir}/lib/setupvar.c \
+ ${srcdir}/lib/uexit.c \
+ ${srcdir}/lib/usage.c \
+ ${srcdir}/lib/version.c \
+ ${srcdir}/lib/zround.c
+
+
# The environment for building.
buildenv = TEXMFCNF=$(srcdir)/../kpathsea
@@ -21007,8 +21033,7 @@ web2c/stamp-web2c: $(web2c_common) ${srcdir}/web2c/*.[chly]
web2c/stamp-makecpool: $(web2c_common) ${srcdir}/web2c/makecpool.c
cd web2c && $(MAKE) $(AM_MAKEFLAGS) stamp-makecpool
-# Rebuild $(proglib)
-$(proglib): ${srcdir}/lib/*.c
+$(proglib): $(proglib_sources)
cd lib && $(MAKE) $(AM_MAKEFLAGS) lib.a
@KPATHSEA_RULE@
@PTEXENC_RULE@