use cmake instead of pitiful makefiles