recursive source file discovery support in makefile