Makefile 801 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. CC=g++
  2. DEV=-Wall -g -std=c++14
  3. OPT=-O3 -std=c++14
  4. SORTING_SOURCES=insertionsort.cpp mergesort.cpp quicksort.cpp
  5. SORTING_HEADERS=$(SORTING_SOURCES:.cpp=.h)
  6. SORTING_DEV_OBJ=$(SORTING_SOURCES:.cpp=.o)
  7. SORTING_OPT_OBJ=$(SORTING_SOURCES:.cpp=.o3)
  8. EXE_SOURCES=createdata.cxx consistentresultverification.cxx sortedverification.cxx timealgorithms.cxx
  9. EXE=$(EXE_SOURCES:.cxx=.exe)
  10. .PHONY: all
  11. all: sorting_lib $(EXE)
  12. # Sorting library
  13. .PHONY: $(SORTING_LIB)
  14. sorting_lib: $(SORTING_DEV_OBJ) $(SORTING_OPT_OBJ)
  15. $(SORTING_DEV_OBJ): %.o: %.cpp %.h
  16. $(CC) $(DEV) -c $< -o $@
  17. $(SORTING_OPT_OBJ): %.o3: %.cpp %.h
  18. $(CC) $(OPT) -c $< -o $@
  19. # Executables
  20. $(EXE): %.exe: %.cxx
  21. $(CC) $(DEV) -o $@ $<
  22. # Build
  23. .PHONY: clean
  24. clean:
  25. rm -f *.o
  26. rm -f *.o3
  27. rm -f *.exe
  28. .PHONY: update
  29. update:
  30. make clean
  31. make all