Makefile 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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 -ligltetgen -liglbbw -liglmosek
  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. CARBON_LIB=-framework Carbon
  16. # Use free glut for mouse scrolling
  17. #FREE_GLUT=/opt/local/
  18. #FREE_GLUT_INC=-I$(FREE_GLUT)/include
  19. #FREE_GLUT_LIB=-L$(FREE_GLUT)/lib -lglut
  20. GLUT_LIB=-framework GLUT
  21. GLUT_INC=
  22. ifdef IGL_NO_MOSEK
  23. CFLAGS+=-DIGL_NO_MOSEK
  24. else
  25. # Adjust your mosek paths etc. accordingly
  26. ifndef MOSEKPLATFORM
  27. MOSEKPLATFORM=osx64x86
  28. endif
  29. ifndef MOSEKVERSION
  30. MOSEKVERSION=7
  31. endif
  32. IGLMOSEK=../mosek/
  33. IGLMOSEK_INC=-I$(IGLMOSEK)/
  34. MOSEK=/usr/local/mosek
  35. MOSEK_INC=-I$(MOSEK)/$(MOSEKVERSION)/tools/platform/$(MOSEKPLATFORM)/h
  36. MOSEK_LIB=-L$(MOSEK)/$(MOSEKVERSION)/tools/platform/$(MOSEKPLATFORM)/bin -lmosek64
  37. endif
  38. INC=$(LIBIGL_INC) $(ANTTWEAKBAR_INC) $(EIGEN3_INC) $(MATLAB_INC) $(GLUT_INC) ${TETGEN_INC} $(MOSEK_INC)
  39. LIB=$(OPENGL_LIB) $(GLUT_LIB) $(ANTTWEAKBAR_LIB) $(LIBIGL_LIB) $(MATLAB_LIB) $(CARBON_LIB) $(TETGEN_LIB) $(MOSEK_LIB)
  40. CPP_FILES=$(wildcard ./*.cpp)
  41. OBJ_FILES=$(addprefix obj/,$(notdir $(CPP_FILES:.cpp=.o)))
  42. CFLAGS+=-std=c++11 -g
  43. example: obj $(OBJ_FILES)
  44. g++ $(OPENMP) $(AFLAGS) $(CFLAGS) -o example $(OBJ_FILES) $(LIB)
  45. obj:
  46. mkdir -p obj
  47. obj/%.o: %.cpp
  48. g++ $(OPENMP) $(AFLAGS) $(CFLAGS) -c $< -o $@ $(INC)
  49. obj/%.o: %.cpp %.h
  50. g++ $(OPENMP) $(AFLAGS) $(CFLAGS) -c $< -o $@ $(INC)
  51. clean:
  52. rm -f $(OBJ_FILES)
  53. rm -f example