high-level makefile replacement