[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 01/02: Revert "Snarfing .x depends on built headers"
From: |
Mark H. Weaver |
Subject: |
[Guile-commits] 01/02: Revert "Snarfing .x depends on built headers" |
Date: |
Thu, 11 Aug 2016 09:45:09 +0000 (UTC) |
mhw pushed a commit to branch stable-2.0
in repository guile.
commit 86278b4bbd896c2952b2198dba8ce50a35f35bad
Author: Mark H Weaver <address@hidden>
Date: Thu Aug 11 03:47:20 2016 -0400
Revert "Snarfing .x depends on built headers"
This reverts commit edd6d6e2805894e21afe51276d1af65d5395180d.
As reported at <https://bugs.gentoo.org/show_bug.cgi?id=590528#c10>,
that commit failed to fix the bug.
That commit was based on the mistaken belief that the make rule syntax
".c.x: $(BUILT_INCLUDES)" means the same as ".c.x:" but with the added
prerequisites "$(BUILT_INCLUDES)". However, as explained in section
10.7 (Old-Fashioned Suffix Rules) of the GNU Make manual:
Suffix rules cannot have any prerequisites of their own. If they
have any, they are treated as normal files with funny names, not as
suffix rules. Thus, the rule:
.c.o: foo.h
$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
tells how to make the file '.c.o' from the prerequisite file 'foo.h',
and is not at all like the pattern rule:
%.o: %.c foo.h
$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
which tells how to make '.o' files from '.c' files, and makes all
'.o' files using this pattern rule also depend on 'foo.h'.
---
libguile/Makefile.am | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/libguile/Makefile.am b/libguile/Makefile.am
index 4c54744..cd85604 100644
--- a/libguile/Makefile.am
+++ b/libguile/Makefile.am
@@ -430,9 +430,9 @@ DOT_I_FILES = vm-i-system.i vm-i-scheme.i vm-i-loader.i
.c.i:
$(AM_V_GEN)$(GREP) '^VM_DEFINE' $< > $@
-BUILT_INCLUDES = $(DOT_I_FILES) scmconfig.h
-BUILT_SOURCES = cpp-E.c cpp-SIG.c libpath.h $(BUILT_INCLUDES) \
- $(DOT_X_FILES) $(EXTRA_DOT_X_FILES)
+BUILT_SOURCES = cpp-E.c cpp-SIG.c libpath.h \
+ scmconfig.h \
+ $(DOT_I_FILES) $(DOT_X_FILES) $(EXTRA_DOT_X_FILES)
# Force the generation of `guile-procedures.texi' because the top-level
# Makefile expects it to be built.
@@ -730,9 +730,9 @@ snarfcppopts = $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS)
SUFFIXES = .x .doc
-.c.x: $(BUILT_INCLUDES)
+.c.x:
$(AM_V_SNARF)$(GUILE_SNARF) -o $@ $< $(snarfcppopts)
-.c.doc: $(BUILT_INCLUDES)
+.c.doc:
$(AM_V_SNARF)./guile-snarf-docs -o $@ $< -- $(snarfcppopts)
$(DOT_X_FILES) $(EXTRA_DOT_X_FILES): scmconfig.h snarf.h guile-snarf.in
version.h