Makefile-based build system