I forgot to mention that for this project it is not allowed to have any build system specific files in the source directories.
As for different operating systems different compilers/build environments/ide's are used we can not afford to use any toolset that requires to clutter our source directories with it's proprietary files. Correct me if i am wrong but if i run autoreconf -fvi in my source directory then it'll produce several files there? If that's the case i can not do that. To clearify i'll try to visualize the project structure. The directories in which no build system files are allowed to be have an *NB* in front. *NB*project | |_*NB*include | |_*NB*project_1 | . | . | . | |_*NB*project_n | |_*NB*data | |_various folders with stuff the program loads while running (not important here) | |_*NB*bin | |_*NB*Win32 | |_*NB*VC8 | |_*NB*release | |_*NB*debug |_*NB*obj | |_*NB*Win32 | |_*NB*VC8 | |_*NB*project_1 | | |_*NB*release | | |_*NB*debug | . | . | . | |_*NB*project_n | |_*NB*release | |_*NB*debug | |_*NB*lib | |_*NB*Win32 | |_*NB*VC8 | |_*NB*project_1 | | |_*NB*release | | |_*NB*debug | . | . | , | |_*NB*project_n | |_*NB*release | |_*NB*debug | |_*NB*src | |_*NB*project_1 | |_... | |_*NB*project_n |_*NB*scripts |_VC8 |_autotools |_DigitalMars |_usw. Perhaps it's visible but i'll mention it explicitly as this is the most crucial point of the whole problem: only in scripts/autotools folder files for autoconf, automake or whatever are allowed to reside. PLUS every build environment MUST comply to the structure that is given by the folders. For example VC8 is only allowed to have his *.sln files in scripts/VC8. Inside these folders the environments can do whatever they want - as long as all object files go to obj/os/compiler/debug or release/project_x - the libraries go to bin, the executables go to bin, the shared libraries go to lib/os/compiler/debug or release/project_x. What does automake at. It writes all *.o files of for example project_1 to project_n IN the autotools folder as the Makefile.am is in there. The result is if - for example - project_8 and project_12 both have a file called Main.cpp and project_12 won't compile as the Main.o of project_8 is already in there. (actually that's a real error i'm struggling with atm). To shorten it - will autotools be able to do that? Last but not least. There should one main makefile in scripts/autotools and then a subfolder scripts/autotools/project_x holding the makefile for project_x. This can be changed - as no one cares how the compiler specific directories look like - but actually that was what i had in mind.