* Users will only will only use one specific compiler, library and flags, so you can hardcode them in your build scripts. * Users will always agree with the location you want to install stuff to.
Shameless plug: At my current job (HPC system administator at Ghent University) we have been building a lot of software which had these assumptions. So to automate all of them we created a framework EasyBuild (http://hpcugent.github.com/easybuild/) which is a layer on top off all these build systems that tries to correct their mistakes (be the human to answer questions during the installation, patching makefiles/code to work with different compilers, install under a prefix and generate module files...) and automate the process of building the software. This is not usefull for programmers, but for end users who want to install the software.
no subject
* Users will always agree with the location you want to install stuff to.
Shameless plug:
At my current job (HPC system administator at Ghent University) we have been building a lot of software which had these assumptions.
So to automate all of them we created a framework EasyBuild (http://hpcugent.github.com/easybuild/) which is a layer on top off all these build systems that tries to correct their mistakes (be the human to answer questions during the installation, patching makefiles/code to work with different compilers, install under a prefix and generate module files...) and automate the process of building the software.
This is not usefull for programmers, but for end users who want to install the software.