make-w32
[Top][All Lists]
Advanced

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

Re: VPATH and vpath problems


From: Dan Clarke
Subject: Re: VPATH and vpath problems
Date: Fri, 09 Jun 2006 10:06:12 +0000
User-agent: Thunderbird 1.5.0.2 (Windows/20060308)

On 2006-6-7 16:44 UTC, Dan Clarke wrote:
/ / / VPATH = w:/modules7/graphics/pc/vshaders/effects/ / vpath %.hvs
w:/modules7/graphics/pc/vshaders/effects/ / / / %.hvo: %.hvs/ / / /
and I get the following error .../ / / / gnumake: *** No rule to make
target/ / `\gamedir\vshaders\effects\ccorrect.hvo', needed by
`project.exe'.  Stop./

Try building in the object directory. Then you can specify the
object files as, e.g.,
 ccorrect.hvo
and vpath can find
 w:/modules7/graphics/pc/vshaders/effects/ccorrect.hvo
as expected. I'm guessing that you're specifying objects like this:
 /gamedir/vshaders/effects/ccorrect.hvo
so that with vpath you can find
 gamedir/vshaders/effects/ccorrect.hvo

w:/modules7/graphics/pc/vshaders/effects/ccorrect.hvo/gamedir/vshaders/effects/ccorrect.hvo
neither of which is what you want. See:
 http://make.paulandlesley.org/vpath.html





Yes, you're right - I am specifying objects as "/gamedir/vshaders/effects/ccorrect.hvo". The ".hvo" objects are not intermediate files. They are actually used by my final program and cannot be in the same directory as my makefile - they must go into the directories specified in the example below. The main makefile is in the gamedir directory, and my .hvo files need to end up off the "/gamedir/vshaders/" directory.

For example ...

"\modules7\graphics\pc\vshaders\effects\ccorrect.hvs" ---> "\gamedir\vshaders\effects\ccorrect.hvo" "\modules7\graphics\pc\vshaders\effects\contrast.hvs" ---> "\gamedir\vshaders\effects\contrast.hvo" "\modules7\graphics\pc\vshaders\effects\blur.hvs" ---> "\gamedir\vshaders\effects\blur.hvo"

"\modules7\graphics\pc\vshaders\prelit\spec.hvs" ---> "\gamedir\vshaders\prelit\spec.hvo" "\modules7\graphics\pc\vshaders\prelit\reflect.hvs" ---> "\gamedir\vshaders\prelit\reflect.hvo"

"\modules7\graphics\pc\vshaders\unlit\spec2.hvs" ---> "\gamedir\vshaders\unlit\spec2.hvo" "\modules7\graphics\pc\vshaders\unlit\reflect2.hvs" ---> "\gamedir\vshaders\unlit\reflect2.hvo"

etc.

There's loads more directories like this, all going into some directory coming off "\gamedir\vshaders\". The path relative to "\gamedir\vshaders\" matches the path relative to "\modules7\graphics\pc\vshaders\".

In each directory containing the source ".hvs" files, I have another included makefile which has a list of all the .hvo files that need building in that directory.

As there's lots of target directories for these .hvo files, then I can't just change directory into them (or can I?).

Any ideas?

Thanks again,
- Dan










reply via email to

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