Makefile 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. .PHONY: all
  2. # Shared flags etc.
  3. include ../../build/Makefile.conf
  4. all: obj example
  5. .PHONY: example
  6. LIBIGL=../../
  7. LIBIGL_INC=-I$(LIBIGL)/include
  8. LIBIGL_LIB=-L$(LIBIGL)/lib -ligl -liglembree
  9. EIGEN3_INC=-I/opt/local/include/eigen3 -I/opt/local/include/eigen3/unsupported
  10. ANTTWEAKBAR_INC=-I$(LIBIGL)/external/AntTweakBar/include
  11. ANTTWEAKBAR_LIB=-L$(LIBIGL)/external/AntTweakBar/lib -lAntTweakBar -framework AppKit
  12. TETGEN=$(LIBIGL)/external/tetgen
  13. TETGEN_LIB=-L$(TETGEN) -ltet
  14. TETGEN_INC=-I$(TETGEN)
  15. EMBREE=$(LIBIGL)/external/embree
  16. EMBREE_INC=-I$(EMBREE)/ -I$(EMBREE)/embree
  17. EMBREE_LIB=-L$(EMBREE)/build -lembree -lsys
  18. CARBON_LIB=-framework Carbon
  19. # Use free glut for mouse scrolling
  20. #FREE_GLUT=/opt/local/
  21. #FREE_GLUT_INC=-I$(FREE_GLUT)/include
  22. #FREE_GLUT_LIB=-L$(FREE_GLUT)/lib -lglut
  23. GLUT_LIB=-framework GLUT
  24. GLUT_INC=
  25. ifdef IGL_NO_MOSEK
  26. CFLAGS+=-DIGL_NO_MOSEK
  27. else
  28. # Adjust your mosek paths etc. accordingly
  29. ifndef MOSEKPLATFORM
  30. MOSEKPLATFORM=osx64x86
  31. endif
  32. ifndef MOSEKVERSION
  33. MOSEKVERSION=6
  34. endif
  35. IGLMOSEK=
  36. IGLMOSEK_INC=
  37. MOSEK=/usr/local/mosek
  38. MOSEK_INC=
  39. MOSEK_LIB=
  40. endif
  41. INC=$(LIBIGL_INC) $(ANTTWEAKBAR_INC) $(EIGEN3_INC) $(MATLAB_INC) $(GLUT_INC) ${TETGEN_INC} $(MOSEK_INC) $(EMBREE_INC)
  42. LIB=$(OPENGL_LIB) $(GLUT_LIB) $(ANTTWEAKBAR_LIB) $(LIBIGL_LIB) $(MATLAB_LIB) $(CARBON_LIB) $(TETGEN_LIB) $(MOSEK_LIB) $(EMBREE_LIB)
  43. CPP_FILES=$(wildcard ./*.cpp)
  44. OBJ_FILES=$(addprefix obj/,$(notdir $(CPP_FILES:.cpp=.o)))
  45. CFLAGS+=-std=c++11 -g
  46. example: obj $(OBJ_FILES)
  47. g++ $(OPENMP) $(AFLAGS) $(CFLAGS) -o example $(LIB) $(OBJ_FILES)
  48. obj:
  49. mkdir -p obj
  50. obj/%.o: %.cpp
  51. g++ $(OPENMP) $(AFLAGS) $(CFLAGS) -c $< -o $@ $(INC)
  52. obj/%.o: %.cpp %.h
  53. g++ $(OPENMP) $(AFLAGS) $(CFLAGS) -c $< -o $@ $(INC)
  54. clean:
  55. rm -f $(OBJ_FILES)
  56. rm -f example