in the following website
https://make.mad-scientist.net/papers/how-not-to-use-vpath/
the author says:
VPATH was designed to find sources, not targets.
but in GNU make’s manual, it says:
The value of the make variable VPATH specifies a list of directories
that make should search. Most often, the directories are expected to
contain prerequisite files that are not in the current directory;
however, make uses VPATH as a search list for both prerequisites and
targets of rules.
what does this mean?
The GNU Make manual says that you can use VPATH to find targets. Paul Smith is saying that you generally shouldn’t. (Whether VPATH was or wasn’t originally
designed for that purpose is moot.)
There are a few reasons why using VPATH this way can cause problems (none of them damning) but the page at paulandlesley is specifically talking about using VPATH naively to build targets in remote locations (which just doesn’t work), in the context of multi-architecture builds.