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:
parent
abcc9b2a3a
commit
6ddddaed95
|
@ -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>
|
2010-09-30 Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||||
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||||
|
|
||||||
|
|
|
@ -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
|
# since they need to run on this machine
|
||||||
# even if GCC is being compiled to run on some other 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)).
|
# All these programs use the RTL reader ($(BUILD_RTL)).
|
||||||
genprogrtl = attr attrtab automata codes conditions config emit \
|
genprogrtl = attr attrtab automata codes conditions config emit \
|
||||||
extract flags opinit output peep preds recog
|
extract flags opinit output peep preds recog
|
||||||
|
@ -3917,16 +3912,23 @@ $(genprogrtl:%=build/gen%$(build_exeext)): $(BUILD_RTL)
|
||||||
genprogmd = $(genprogrtl) mddeps constants enums
|
genprogmd = $(genprogrtl) mddeps constants enums
|
||||||
$(genprogmd:%=build/gen%$(build_exeext)): $(BUILD_MD)
|
$(genprogmd:%=build/gen%$(build_exeext)): $(BUILD_MD)
|
||||||
|
|
||||||
# All generator programs need to report errors
|
# All these programs need to report errors.
|
||||||
genprog = $(genprogmd) genrtl modes gtype
|
genprogerr = $(genprogmd) genrtl modes gtype hooks
|
||||||
$(genprog:%=build/gen%$(build_exeext)): $(BUILD_ERRORS)
|
$(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.
|
# These programs need libs over and above what they get from the above list.
|
||||||
build/genautomata$(build_exeext) : BUILD_LIBS += -lm
|
build/genautomata$(build_exeext) : BUILD_LIBS += -lm
|
||||||
|
|
||||||
# These programs are not linked with the MD reader.
|
# These programs are not linked with the MD reader.
|
||||||
build/gengtype$(build_exeext) : build/gengtype-lex.o build/gengtype-parse.o
|
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.
|
# Generated source files for gengtype.
|
||||||
gengtype-lex.c : gengtype-lex.l
|
gengtype-lex.c : gengtype-lex.l
|
||||||
|
|
Loading…
Reference in New Issue