This is an initial step on providing an alternative build system that uses libraries from src subdirectories.
This removes need for local configuration to ignore *.o and *~ and allows the src/*/.gitignore files to be removed (subdirectories will inherit the rules from the root .gitignore).