CC=g++ DEV=-Wall -g -std=c++14 OPT=-O3 -std=c++14 SORTING_SOURCES=insertionsort.cpp mergesort.cpp quicksort.cpp SORTING_HEADERS=$(SORTING_SOURCES:.cpp=.h) SORTING_DEV_OBJ=$(SORTING_SOURCES:.cpp=.o) SORTING_OPT_OBJ=$(SORTING_SOURCES:.cpp=.o3) EXE_SOURCES=createdata.cxx consistentresultverification.cxx sortedverification.cxx timealgorithms.cxx EXE=$(EXE_SOURCES:.cxx=.exe) .PHONY: all all: sorting_lib $(EXE) # Sorting library .PHONY: $(SORTING_LIB) sorting_lib: $(SORTING_DEV_OBJ) $(SORTING_OPT_OBJ) $(SORTING_DEV_OBJ): %.o: %.cpp %.h $(CC) $(DEV) -c $< -o $@ $(SORTING_OPT_OBJ): %.o3: %.cpp %.h $(CC) $(OPT) -c $< -o $@ # Executables $(EXE): %.exe: %.cxx $(CC) $(DEV) -o $@ $< # Build .PHONY: clean clean: rm -f *.o rm -f *.o3 rm -f *.exe .PHONY: update update: make clean make all