On Sun, Mar 24, 2002 at 07:16:08PM +0100, Alexandre Duret-Lutz wrote: > [...] > `VPATH' > There is no `VPATH' support specified in POSIX. Many Makes have a > form of `VPATH' support, but its implementation is not coherent > amongst Makes. > > Maybe the best suggestion to do to people who needs the `VPATH' > feature is to chose a Make implementation an stick to it. Since > the resulting `Makefile's are not portable anyway, better chose a > portable Make (hint, hint). > > Here are a couple of known issues with some `VPATH' > implementations. [...] > OSF/Tru64 make creates prerequisite directories magically > When a prerequisite is a sub-directory of `VPATH', Tru64 Make > will create it in the current directory. > > % cat Makefile > VPATH = .. > all : foo/bar > % make -p foo/bar build ^^^^ mkdir
> % cd build > % make > mkdir foo > mkdir foo/bar > > This can yield unexpected results if a rule uses a manual > `VPATH' search as presented before. > > VPATH = .. > all : foo/bar > command `test -d foo/bar || echo ../`foo/bar > > The above `command' will be run on the empty `foo/bar' > directory created in the current directory. -- Nicolas Joly Biological Software and Databanks. Pasteur Institute, Paris.