GNU tools versus...

IMHO, the GNU tools have facilities for doing all of these things.

We distribute software packages that consist of C++ code, Tcl code, and install scripts. Autoconf and automake generate the bulk of the config scripts and makefiles, and ".in" files handle the rest.

The build process looks like:

   configure --prefix=/target1
   make prefix=/target2 install
   pushd /target2
   stow pkgname-n.n

It is left as an exercise to the reader to find out about STOW.

I am infinitely irritated by companies that waste huge amounts of time developing make rules for windows and then "don't have time" to do the smaller job of autoconf/automake for GNU.

Just my 2 cents.