manpagez: man pages & more
info autoconf
Home | html | info | man

File: autoconf.info,  Node: VPATH and Make,  Next: Single Suffix Rules,  Prev: make -k Status,  Up: Portable Make

12.18 ‘VPATH’ and Make
======================

Posix does not specify the semantics of ‘VPATH’.  Typically, ‘make’
supports ‘VPATH’, but its implementation is not consistent.

   Autoconf and Automake support makefiles whose usages of ‘VPATH’ are
portable to recent-enough popular implementations of ‘make’, but to keep
the resulting makefiles portable, a package's makefile prototypes must
take the following issues into account.  These issues are complicated
and are often poorly understood, and installers who use ‘VPATH’ should
expect to find many bugs in this area.  If you use ‘VPATH’, the simplest
way to avoid these portability bugs is to stick with GNU ‘make’, since
it is the most commonly-used ‘make’ among Autoconf users.

   Here are some known issues with some ‘VPATH’ implementations.

* Menu:

* Variables listed in VPATH::   ‘VPATH’ must be literal on ancient hosts
* VPATH and Double-colon::      Problems with ‘::’ on ancient hosts
* $< in Explicit Rules::        ‘$<’ does not work in ordinary rules
* Automatic Rule Rewriting::    ‘VPATH’ goes wild on Solaris
* Tru64 Directory Magic::       ‘mkdir’ goes wild on Tru64
* Make Target Lookup::          More details about ‘VPATH’ lookup

© manpagez.com 2000-2024
Individual documents may contain additional copyright information.