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
This commit is contained in:
Ralf Wildenhues 2010-09-30 19:16:14 +00:00 committed by Ralf Wildenhues
parent abcc9b2a3a
commit 6ddddaed95
2 changed files with 26 additions and 9 deletions

View 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>

View 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