cc = clang++ # -DNO_CXX_20 -DNO_CXX_17 cxxflags = -Ofast -std=c++20 -Weverything -Wno-c++98-compat out_dir = out name = ellipse src_dir = $name out_ext = .exe rule clang_format command = clang-format -i $src_dir/*.cc $src_dir/*.hh 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/$name.o: compile $src_dir/$name.cc build $out_dir/test.o: compile $src_dir/test.cc build $out_dir/$name$out_ext: link $out_dir/$name.o $out_dir/test.o | format default $out_dir/$name$out_ext