> / / / 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