]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
build: more correct build rules for build/gen% programs.
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Thu, 30 Sep 2010 19:16:14 +0000 (19:16 +0000)
committerRalf Wildenhues <rwild@gcc.gnu.org>
Thu, 30 Sep 2010 19:16:14 +0000 (19:16 +0000)
gcc/:
PR bootstrap/45796
* Makefile.in (build/gen%$(build_exeext)): Move rule after all
special-casing for generators and turn into ...
((genprog:%=build/gen%$(build_exeext))): ... this static pattern
rule, for better error messages in case of toplevel dependency
errors.
(genprog): Add hooks, rename to ...
(genprogerr): ... this, and let genprog also contain check,
checksum, condmd.
((genprog:%=build/gen%$(build_exeext))): Rename to ...
((genprogerr:%=build/gen%$(build_exeext))): ... this.
(build/genhooks$(build_exeext)): Remove now-unneeded dependency.

From-SVN: r164759

gcc/ChangeLog
gcc/Makefile.in

index df2365ba70675162f069fe6372b76bbdfdeb74fe..b081a2c0674ec674264cdc1161816b33e592ec7f 100644 (file)
@@ -1,3 +1,18 @@
+2010-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       PR bootstrap/45796
+       * Makefile.in (build/gen%$(build_exeext)): Move rule after all
+       special-casing for generators and turn into ...
+       ((genprog:%=build/gen%$(build_exeext))): ... this static pattern
+       rule, for better error messages in case of toplevel dependency
+       errors.
+       (genprog): Add hooks, rename to ...
+       (genprogerr): ... this, and let genprog also contain check,
+       checksum, condmd.
+       ((genprog:%=build/gen%$(build_exeext))): Rename to ...
+       ((genprogerr:%=build/gen%$(build_exeext))): ... this.
+       (build/genhooks$(build_exeext)): Remove now-unneeded dependency.
+
 2010-09-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
index dc10c58a124d61ec5b0575a21f92367893b1913b..924fb86539fe184e0b41a4cb8415726c6e4f8376 100644 (file)
@@ -3903,11 +3903,6 @@ build/genhooks.o : genhooks.c target.def $(BCONFIG_H) $(SYSTEM_H) errors.h
 # since they need to run on this machine
 # even if GCC is being compiled to run on some other machine.
 
-# As a general rule...
-build/gen%$(build_exeext): build/gen%.o $(BUILD_LIBDEPS)
-       $(LINKER_FOR_BUILD) $(BUILD_LINKERFLAGS) $(BUILD_LDFLAGS) -o $@ \
-           $(filter-out $(BUILD_LIBDEPS), $^) $(BUILD_LIBS)
-
 # All these programs use the RTL reader ($(BUILD_RTL)).
 genprogrtl = attr attrtab automata codes conditions config emit \
             extract flags opinit output peep preds recog
@@ -3917,16 +3912,23 @@ $(genprogrtl:%=build/gen%$(build_exeext)): $(BUILD_RTL)
 genprogmd = $(genprogrtl) mddeps constants enums
 $(genprogmd:%=build/gen%$(build_exeext)): $(BUILD_MD)
 
-# All generator programs need to report errors
-genprog = $(genprogmd) genrtl modes gtype
-$(genprog:%=build/gen%$(build_exeext)): $(BUILD_ERRORS)
+# All these programs need to report errors.
+genprogerr = $(genprogmd) genrtl modes gtype hooks
+$(genprogerr:%=build/gen%$(build_exeext)): $(BUILD_ERRORS)
+
+# Remaining build programs.
+genprog = $(genprogerr) check checksum condmd
 
 # These programs need libs over and above what they get from the above list.
 build/genautomata$(build_exeext) : BUILD_LIBS += -lm
 
 # These programs are not linked with the MD reader.
 build/gengtype$(build_exeext) : build/gengtype-lex.o build/gengtype-parse.o
-build/genhooks$(build_exeext) : $(BUILD_ERRORS)
+
+# Rule for the generator programs:
+$(genprog:%=build/gen%$(build_exeext)): build/gen%$(build_exeext): build/gen%.o $(BUILD_LIBDEPS)
+       $(LINKER_FOR_BUILD) $(BUILD_LINKERFLAGS) $(BUILD_LDFLAGS) -o $@ \
+           $(filter-out $(BUILD_LIBDEPS), $^) $(BUILD_LIBS)
 
 # Generated source files for gengtype.
 gengtype-lex.c : gengtype-lex.l