aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>2010-09-30 19:16:14 +0000
committerRalf Wildenhues <rwild@gcc.gnu.org>2010-09-30 19:16:14 +0000
commit6ddddaed950084d48c46b5c5862e663eebaccaaf (patch)
treec26af50bf648a965de4056c7e68cd611b1faeaa0 /gcc
parentabcc9b2a3ad392f3abf3e80fa0e51a47e8629917 (diff)
downloadgcc-6ddddaed950084d48c46b5c5862e663eebaccaaf.zip
gcc-6ddddaed950084d48c46b5c5862e663eebaccaaf.tar.gz
gcc-6ddddaed950084d48c46b5c5862e663eebaccaaf.tar.bz2
build: more correct build rules for build/gen% programs.
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog15
-rw-r--r--gcc/Makefile.in20
2 files changed, 26 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index df2365b..b081a2c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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>
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index dc10c58..924fb86 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -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