[comp.unix.questions] What does VPATH do for make?

bbadger@x102c.harris-atd.com (Badger BA 64810) (09/02/89)

In article <20767@adm.BRL.MIL> rbj@dsys.ncsl.nist.gov (Root Boy Jim) writes:
[lots deleted related to previous thread]
>Another way to do it is by using the `arch' command.
>all clean install:
>	(cd `arch`; make -f ../Makefile ARCH=-D`arch | tr a-z A-Z` real$@)
>Of course, there is also the VPATH variable, which may or may not work.
>
>	Root Boy Jim and
>	the GNU Bohemians
[cute       ^^^^^^^^^^^^^]

I remember somthing like VPATH from an article on ``build'', a make-like
utility which used an environment variable to specify a list of directories 
to search for files.  This allowed the contstruction of ``views'' by linking
or copying files from the other directory into the current directory just 
for the duration of the make.  Is this now a capability of make?  I don't 
find it in the man page:

%  man make | ul |grep VPATH
man make | ul |grep VPATH

On the other hand, make seems to know about VPATH:

%  which make
/bin/make
%  strings /bin/make  |grep PATH
VPATH
PATH
%  

From a quick look at the V3.2.1 source code for make, I think it does 
Does anyone know for sure what VPATH is for?  Do your man pages reveal all?

    -----	-	-	-	-	-	-	-	----
Bernard A. Badger Jr.	407/984-6385          |``Get a LIFE!''  -- J.H. Conway
Harris GISD, Melbourne, FL  32902             |Buddy, can you paradigm?
Internet: bbadger%x102c@trantor.harris-atd.com|'s/./&&/g' Tom sed expansively.

jik@athena.mit.edu (Jonathan I. Kamens) (09/03/89)

In article <2642@trantor.harris-atd.com> bbadger@x102c.harris-atd.com (Badger
BA 64810) writes:
>Does anyone know for sure what VPATH is for?  Do your man pages reveal all?

  Our man page for make(1) says:

     Another special macro is `VPATH'.  The `VPATH' macro should
     be set to a list of directories separated by colons.  When
     make searches for a file as a result of a dependency rela-
     tion, it will first search the current directory and then
     each of the directories on the `VPATH' list.  If the file is
     found, the actual path to the file will be used, rather than
     just the filename.  If `VPATH' is not defined, then only the
     current directory is searched.

Jonathan Kamens			              USnail:
MIT Project Athena				11 Ashford Terrace
jik@Athena.MIT.EDU				Allston, MA  02134
Office: 617-253-4261			      Home: 617-782-0710

friedl@vsi.COM (Stephen J. Friedl) (09/08/89)

[ what is VPATH in make(1) used for? ]

In article <14019@bloom-beacon.MIT.EDU>, jik@athena.mit.edu (Jonathan I. Kamens) writes:
> 
>   Our man page for make(1) says:

VPATH is really helpful, but it is undocumented and not supported
everywhere.  In addition, there are implementations that have/will
*remove* VPATH where it used to exist, so be careful depending on it.

      Steve