On Tue, May 25, 2010 at 11:13 AM, Andreas Schwab <[email protected]> wrote:
> Steven Bosscher <[email protected]> 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