help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: targets built to an "output" directory.


From: Ian Dunbar
Subject: Re: targets built to an "output" directory.
Date: Fri, 17 Sep 2004 01:12:49 +0000

Hi Ken,

Thanks for your reply.

> default: ${OUTDIR}/conf/lang/arch/a.txt

The prerequisites of rules should typically be in constant locations
with respect to the make file.  Since the prerequisite for default
contains a variable path, the requirement will move around.

Well, it's only moving around between different invocations of make, so I don't see that as an issue, since make is stateless. Also, this method works fine for processing one level of file extension, it just seems to have a problem with 2 or more.

e.g. change the target to:

default: ${OUTDIR}/arch/a.txt.conf.lang

and it will be made without problems.

Nevertheless, what you said gave me an idea for one part of what may be wrong. If I change the VPATH line to be (using my original default: target):

VPATH = src ${OUTDIR}

Now it still fails, but if from the command line I type:

make build/arch/a.txt.conf.lang

make build/lang/arch/a.txt.conf

make build/conf/lang/arch/a.txt

make
make: Nothing to be done for `default'.

All commands complete successfully so it obviously knows how to build all the pre-requisites. The only difference is in it's treatment of targets when using "." and "build". For "." it can somehow identify many levels of pre-requisites, but for "build" it can only identify one level before complaining, even though it knows how to make them if I do each step manually.

What are you really trying to do here at a high level?

Hard to explain without going into far too much detail, but basically multi-configuration builds. This is a quite simplified example of the fundamental problem I am having.

Best regards,
Ian

_________________________________________________________________
Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963





reply via email to

[Prev in Thread] Current Thread [Next in Thread]