CXXFLAGS := -std=c++20 -g -O0 -Wall -Wpedantic -Werror
CXX := g++

all: main main.out

main: main.o Point2D.o
	$(CXX) $(CXXFLAGS) -o $@ $^

main.o: main.cpp Point2D.h
	$(CXX) $(CXXFLAGS) -o $@ -c $<

Point2D.o: Point2D.cpp Point2D.h
	$(CXX) $(CXXFLAGS) -o $@ -c $<

main.out: main
	./main > $@

clean:
	-rm -f *.o main main.out
	-rm -f *~

