working build system based on make