On Thu, 5 Dec 2002, guy keren wrote:

>
> Makefiles should not be medled with. if you try to do something
> complicated - most likely you'll fail, cause the language that gmake (and
> the commercial 'make' variants) supports - are very very limited.

A chalange, then, ha?

(reading the gnu-make manual)

Well, the best I could find was: "target-spesific values"

     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 (unless those prerequisites
  override it with their own target-specific variable value).  So, for
  example, a statement like this:

     prog : CFLAGS = -g
     prog : prog.o foo.o bar.o

  will set `CFLAGS' to `-g' in the command script for `prog', but it will
  also set `CFLAGS' to `-g' in the command scripts that create `prog.o',
  `foo.o', and `bar.o', and any command scripts which create their
  prerequisites.

So how about:

  ppc: ARC=PPC
  ppc: release

  release:
        ifeq ($(ARCH),PPC)
(is that the right syntax?)

The problem is that 'release' has to be a pre-requirement of ppc.

But then-again, recursive makes are not much nicer.

Another minor problem is that this is surely gnu-make specific.

(OTOH, makefiles are indeed confusing and difficult to debug)

-- 
Tzafrir Cohen
mailto:[EMAIL PROTECTED]
http://www.technion.ac.il/~tzafrir


=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to