.PHONY: all
all: $(subst .cpp,,$(wildcard isSorted*.cpp)) destructorExample

isSorted1: isSorted1.o
	clang++ -std=c++11 -o $@ $^

isSorted2: isSorted2.o
	clang++ -std=c++11 -o $@ $^

isSorted2bad: isSorted2bad.o
	clang++ -std=c++11 -o $@ $^

destructorExample: destructorExample.o point.o diagonalLine.o
	clang++ -std=c++11 -o $@ $^

%.o: %.cpp $(wildcard *.h)
	clang++ -std=c++11 -c -o $@ $<

.PHONY: clean
clean:
	rm -f isSorted1 isSorted2 isSorted2bad destructorExample *.o

