better makefile extension dealing