cc = clang++ cxxflags = -Ofast -std=c++20 -Weverything -Wno-c++98-compat-pedantic out_dir = out name = platypus src_dir = $name out_ext = .exe rule clang_format command = clang-format -i $src_dir/*.cpp $src_dir/*.h rule compile command = $cc $cxxflags -c $in -o $out rule link command = $cc $in -o $out build _format: clang_format build format: phony _format build $out_dir/platypus.o: compile $src_dir/platypus.cpp build $out_dir/testPlatypus.o: compile $src_dir/testPlatypus.cpp build $out_dir/$name$out_ext: link $out_dir/platypus.o $out_dir/testPlatypus.o | format default $out_dir/$name$out_ext