makefile 678 B

12345678910111213141516171819202122232425262728293031323334
  1. # Folders
  2. SRCDIR := ..
  3. BUILDDIR := .
  4. TARGETDIR := .
  5. CC := clang++ -arch x86_64
  6. # Targets
  7. EXECUTABLE := PageNormalizer
  8. TARGET := ./$(EXECUTABLE)
  9. # Code Lists
  10. SRCEXT := cpp
  11. SOURCES := $(shell find $(SRCDIR) -type f -name *.$(SRCEXT))
  12. OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.o))
  13. # Shared Compiler Flags
  14. CFLAGS := -c -Dcimg_display=0
  15. INC := -I..
  16. LIB := -lm -ljpeg
  17. INCDIRS :=
  18. INCLIST :=
  19. BUILDLIST :=
  20. CFLAGS += -std=c++11 -stdlib=libc++ -O2
  21. $(TARGET): $(OBJECTS)
  22. @echo "Linking..."
  23. @echo " Linking $(TARGET)"; $(CC) $^ -o $(TARGET) $(LIB)
  24. $(BUILDDIR)/%.o: $(SRCDIR)/%.$(SRCEXT)
  25. @echo "Compiling $<..."; $(CC) $(CFLAGS) $(INC) -c -o $@ $<