Next: Single Suffix Rules, Previous: make -k Status, Up: Portable Make Programming [Contents][Index]
VPATH
and MakePosix 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.
• 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
|