diff options
author | Ralf Wildenhues <Ralf.Wildenhues@gmx.de> | 2010-09-30 19:16:14 +0000 |
---|---|---|
committer | Ralf Wildenhues <rwild@gcc.gnu.org> | 2010-09-30 19:16:14 +0000 |
commit | 6ddddaed950084d48c46b5c5862e663eebaccaaf (patch) | |
tree | c26af50bf648a965de4056c7e68cd611b1faeaa0 | |
parent | abcc9b2a3ad392f3abf3e80fa0e51a47e8629917 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 15 | ||||
-rw-r--r-- | gcc/Makefile.in | 20 |
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 |