Cross-platform makefile