Makefile 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. .PHONY: all
  2. # Shared flags etc.
  3. include ../../Makefile.conf
  4. all: obj example
  5. .PHONY: example
  6. CFLAGS=-g -std=c++11
  7. LIBIGL=../../
  8. LIBIGL_INC=-I$(LIBIGL)/include
  9. LIBIGL_LIB=-L$(LIBIGL)/lib -ligl -liglmatlab -liglembree -liglboost
  10. EIGEN3_INC=-I/opt/local/include/eigen3 -I/opt/local/include/eigen3/unsupported
  11. ANTTWEAKBAR_INC=-I$(LIBIGL)/external/AntTweakBar/include
  12. ANTTWEAKBAR_LIB=-L$(LIBIGL)/external/AntTweakBar/lib -lAntTweakBar -framework AppKit
  13. EMBREE=$(LIBIGL)/external/embree
  14. EMBREE_INC=-I$(EMBREE)/ -I$(EMBREE)/embree
  15. EMBREE_LIB=-L$(EMBREE)/build -lembree -lsys
  16. MATLAB_INC=-I$(MATLAB)/extern/include/
  17. MATLAB_LIB=-L$(MATLAB)/bin/maci64 -lmx -lmat -lmex -lstdc++
  18. # Use free glut for mouse scrolling
  19. GLUT_LIB=-framework GLUT
  20. GLUT_INC=-framework GLUT
  21. INC=$(LIBIGL_INC) $(ANTTWEAKBAR_INC) $(EIGEN3_INC) $(MATLAB_INC) $(GLUT_INC) $(EMBREE_INC)
  22. LIB=$(OPENGL_LIB) $(GLUT_LIB) $(ANTTWEAKBAR_LIB) $(LIBIGL_LIB) $(MATLAB_LIB) $(EMBREE_LIB)
  23. CPP_FILES=$(wildcard ./*.cpp)
  24. OBJ_FILES=$(addprefix obj/,$(notdir $(CPP_FILES:.cpp=.o)))
  25. example: obj $(OBJ_FILES)
  26. g++ $(OPENMP) $(AFLAGS) $(CFLAGS) -o example $(OBJ_FILES) $(LIB)
  27. obj:
  28. mkdir -p obj
  29. obj/%.o: %.cpp
  30. g++ $(OPENMP) $(AFLAGS) $(CFLAGS) -c $< -o $@ $(INC)
  31. obj/%.o: %.cpp %.h
  32. g++ $(OPENMP) $(AFLAGS) $(CFLAGS) -c $< -o $@ $(INC)
  33. clean:
  34. rm -f $(OBJ_FILES)
  35. rm -f example