gbranden pushed a commit to branch master
in repository groff.
commit 7af3bbe4dcdaba6f1d050096fafcf7123ec2dc4b
Author: Bruno Haible <[email protected]>
AuthorDate: Tue Jan 20 11:50:07 2026 +0100
Fix build problem with BSD Make.
* contrib/sboxes/sboxes.am:
* doc/doc.am:
* font/devpdf/devpdf.am:
* tmac/tmac.am: Fix portability problem involving BSD Make. Define
`*_builddir` macros without interpolating `top_builddir`. groff does
not use recursive make; all file specifications are resolved relative
to the top of the build tree, so the interpolation is unnecessary, and
with BSD Make it causes spurious failures because that implementation
uses strings, not file identities, as the nodes of its dependency
graph. So if you ask for "foo" to be built but have only a rule for a
target named "./foo", BSD Make fails, whereas GNU Make does not.
[If the foregoing explanation is defective, blame me, not Bruno. --GBR]
---
ChangeLog | 14 ++++++++++++++
contrib/sboxes/ChangeLog | 12 ++++++++++++
contrib/sboxes/sboxes.am | 2 +-
doc/doc.am | 2 +-
font/devpdf/devpdf.am | 2 +-
tmac/tmac.am | 2 +-
6 files changed, 30 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index f74749b11..9bbbd7eac 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2026-01-20 Bruno Haible <[email protected]>
+
+ * doc/doc.am:
+ * font/devpdf/devpdf.am:
+ * tmac/tmac.am: Fix portability problem involving BSD Make.
+ Define `*_builddir` macros without interpolating `top_builddir`.
+ groff does not use recursive make; all file specifications are
+ resolved relative to the top of the build tree, so the
+ interpolation is unnecessary, and with BSD Make it causes
+ spurious failures because that implementation uses strings, not
+ file identities, as the nodes of its dependency graph. So if
+ you ask for "foo" to be built but have only a rule for a target
+ named "./foo", BSD Make fails, whereas GNU Make does not.
+
2026-01-21 G. Branden Robinson <[email protected]>
* font/devps/devps.am: Drop unused macro `devps_builddir`.
diff --git a/contrib/sboxes/ChangeLog b/contrib/sboxes/ChangeLog
index 657d09c11..8514b94ef 100644
--- a/contrib/sboxes/ChangeLog
+++ b/contrib/sboxes/ChangeLog
@@ -1,3 +1,15 @@
+2026-01-20 Bruno Haible <[email protected]>
+
+ * sboxes.am: Fix portability problem involving BSD Make. Define
+ `sboxes_builddir` macro without interpolating `top_builddir`.
+ groff does not use recursive make; all file specifications are
+ resolved relative to the top of the build tree, so the
+ interpolation is unnecessary, and with BSD Make it causes
+ spurious failures because that implementation uses strings, not
+ file identities, as the nodes of its dependency graph. So if
+ you ask for "foo" to be built but have only a rule for a target
+ named "./foo", BSD Make fails, whereas GNU Make does not.
+
2025-12-31 G. Branden Robinson <[email protected]>
* sboxes.am (EXTRA_DIST): Ship "COPYRIGHT" file in distribution
diff --git a/contrib/sboxes/sboxes.am b/contrib/sboxes/sboxes.am
index 54fb61e3a..5e60e9c4b 100644
--- a/contrib/sboxes/sboxes.am
+++ b/contrib/sboxes/sboxes.am
@@ -24,7 +24,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
sboxes_srcdir = $(top_srcdir)/contrib/sboxes
-sboxes_builddir = $(top_builddir)/contrib/sboxes
+sboxes_builddir = contrib/sboxes
sboxesnotquine = $(sboxes_srcdir)/notquine.sed
sboxestmacdir = $(tmacdir)
diff --git a/doc/doc.am b/doc/doc.am
index eef0d0d15..43e2683f3 100644
--- a/doc/doc.am
+++ b/doc/doc.am
@@ -21,7 +21,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
doc_srcdir = $(abs_top_srcdir)/doc
-doc_builddir = $(abs_top_builddir)/doc
+doc_builddir = doc
# Some document sources are parameterized in configuration options like
# the groff version number and the command prefix. Use this in rules to
diff --git a/font/devpdf/devpdf.am b/font/devpdf/devpdf.am
index 889a3e8bf..d73054a66 100644
--- a/font/devpdf/devpdf.am
+++ b/font/devpdf/devpdf.am
@@ -20,7 +20,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
devpdf_srcdir = $(top_srcdir)/font/devpdf
-devpdf_builddir = $(top_builddir)/font/devpdf
+devpdf_builddir = font/devpdf
devpdffont_descriptions_from_devps = \
font/devpdf/S \
font/devpdf/ZD \
diff --git a/tmac/tmac.am b/tmac/tmac.am
index ab9aee115..0728beab9 100644
--- a/tmac/tmac.am
+++ b/tmac/tmac.am
@@ -20,7 +20,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
tmac_srcdir = $(top_srcdir)/tmac
-tmac_builddir = $(top_builddir)/tmac
+tmac_builddir = tmac
man7_MANS += \
tmac/groff_ms.7 \
_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit