[Top][All Lists]

[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 <>,
    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/ |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/libguile/ b/libguile/
index 4c54744..cd85604 100644
--- a/libguile/
+++ b/libguile/
@@ -430,9 +430,9 @@ DOT_I_FILES = vm-i-system.i vm-i-scheme.i vm-i-loader.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) \
+BUILT_SOURCES = cpp-E.c cpp-SIG.c libpath.h \
+    scmconfig.h \
 # 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
        $(AM_V_SNARF)$(GUILE_SNARF) -o $@ $< $(snarfcppopts)
-.c.doc: $(BUILT_INCLUDES)
        $(AM_V_SNARF)./guile-snarf-docs -o $@ $< -- $(snarfcppopts)
 $(DOT_X_FILES) $(EXTRA_DOT_X_FILES): scmconfig.h snarf.h 

reply via email to

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