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

Reply via email to