makefile 723 B

1234567891011121314151617181920212223242526272829303132333435
  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. DEPS = ../pagenormalizer.h ../CImg.h
  11. SRCEXT := cpp
  12. SOURCES := $(shell find $(SRCDIR) -type f -name *.$(SRCEXT))
  13. OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.o))
  14. # Shared Compiler Flags
  15. CFLAGS := -c -Dcimg_display=0
  16. INC := -I..
  17. LIB := -lm -ljpeg
  18. INCDIRS :=
  19. INCLIST :=
  20. BUILDLIST :=
  21. CFLAGS += -std=c++11 -stdlib=libc++ -O2
  22. $(TARGET): $(OBJECTS)
  23. @echo "Linking..."
  24. @echo " Linking $(TARGET)"; $(CC) $^ -o $(TARGET) $(LIB)
  25. $(BUILDDIR)/%.o: $(SRCDIR)/%.$(SRCEXT) $(DEPS)
  26. @echo "Compiling $<..."; $(CC) $(CFLAGS) $(INC) -c -o $@ $<