VPATH is useful only to find source files from the destination directory, it cannot be used to find destination files from the source directory.
I think that's what your trying to do here: run make in the source directory and put the results in a different directory. VPATH cannot be used in that environment.
You might take a look at my web site below: there's an in-depth discussion of how VPATH works (and doesn't).
We are setting VPATH to only look for source files but gmake is attaching the target directory (which is a relative path) to the VPATH and satisfies itself as to the fulfillment of the target. I think the only way I can clearly explain this is by giving you the scenario I sent you before:
/user/p/src has the makefile and sources. /user/p/install has the install tree.
/user/u/src has the makefile and sources. /user/u/install has the install tree.
The GNUmakefile in the src tree has VPATH set to /user/p/src to only look for sources.
../install/scripts/% : % $(INSTALL) -m 444 $(<) $(@)
is the rule.
If the install tree in /user/u/install has not yet been created (that is the rule has not been run even once). gmake -d shows that it actually looks at $(VPATH)/../install/scripts and compares the dates with /user/u/src. If /user/u/install does exist then it first compares the dates between them and /user/u/src.
gmake is looking in $(VPATH)/../install/scripts. We are not expecting it to. We expect it to look in VPATH only for sources when they don't exist in the current source tree ..
Regards, Harsha
[EMAIL PROTECTED] 212.762.4165
This communication is intended for the addressee(s) and may contain confidential and legally privileged information. We do not waive confidentiality or privilege by mis-transmission. If you have received this communication in error, any use, dissemination, printing or copying is strictly prohibited; please destroy all electronic and paper copies and notify the sender immediately.
_______________________________________________ Bug-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-make