On Tue, May 25, 2010 at 11:13 AM, Andreas Schwab <sch...@redhat.com> wrote: > Steven Bosscher <stevenb....@gmail.com> writes: > >> But for some reason I get -DIN_GCC_FRONTEND also on some of the gen* >> files, libiberty, and gcov-io.o, like so: > > Target-specific variable values are applied to all dependencies, see > (make) Target-specific: > > There is one more special feature of target-specific variables: when > you define a target-specific variable that variable value is also in > effect for all prerequisites of this target, and all their > prerequisites, etc. (unless those prerequisites override that variable > with their own target-specific variable value).
That is the problem here. TM_H depends on insn-constants.h, which depends on genconstants: TM_H = $(GTM_H) insn-constants.h insn-flags.h options.h No need to remake target `../../trunk/gcc/coretypes.h'. Considering target file `tm.h'. ... Considering target file `options.h'. ... Considering target file `insn-constants.h'. File `insn-constants.h' does not exist. Considering target file `s-constants'. File `s-constants' does not exist. Considering target file `build/genconstants'. File `build/genconstants' does not exist. Looking for an implicit rule for `build/genconstants'. Trying pattern rule with stem `constants'. Trying implicit prerequisite `build/genconstants.o'. Trying rule prerequisite `../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a'. Found an implicit rule for `build/genconstants'. Considering target file `build/genconstants.o'. ... Lots of files validly depend on TM_H (directly, or via target.h). So I guess this plan of mine is not going to work... Other ideas? Ciao! Steven