guile-commits
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]