Makefile 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. include ../../Makefile.conf
  2. CXX=g++
  3. LIBIGL=../../
  4. LIBIGL_INC=-I${LIBIGL}/include
  5. LIBIGL_LIB=-L${LIBIGL}/lib -ligl -liglmosek -liglbbw
  6. ifdef IGL_NO_MOSEK
  7. CFLAGS+=-DIGL_NO_MOSEK
  8. else
  9. # Adjust your mosek paths etc. accordingly
  10. ifndef MOSEKPLATFORM
  11. MOSEKPLATFORM=osx64x86
  12. endif
  13. ifndef MOSEKVERSION
  14. MOSEKVERSION=6
  15. endif
  16. IGLMOSEK=../mosek/
  17. IGLMOSEK_INC=-I$(IGLMOSEK)/
  18. INC+=${IGLMOSEK_INC}
  19. MOSEK=/usr/local/mosek
  20. MOSEK_INC=-I$(MOSEK)/$(MOSEKVERSION)/tools/platform/$(MOSEKPLATFORM)/h
  21. MOSEK_LIB=-L$(MOSEK)/$(MOSEKVERSION)/tools/platform/$(MOSEKPLATFORM)/bin -lmosek64
  22. INC+=$(MOSEK_INC)
  23. endif
  24. EIGEN3_INC=-I$(DEFAULT_PREFIX)/include/eigen3 -I$(DEFAULT_PREFIX)/include/eigen3/unsupported
  25. # By default I'm using the libigl version. Adjust accordingly
  26. TETGEN=$(LIBIGL)/external/tetgen
  27. TETGEN_LIB=-L$(TETGEN) -ligltetgen -ltet
  28. TETGEN_INC=-I$(TETGEN)
  29. INC=-I. ${EIGEN3_INC} ${LIBIGL_INC} ${TETGEN_INC} ${MOSEK_INC}
  30. LIB=${TETGEN_LIB} ${MOSEK_LIB} ${OPENGL_LIB} ${GLUT_LIB} ${LIBIGL_LIB}
  31. # Make file for bbw_demo
  32. .PHONY: all
  33. all: bbw_demo
  34. CPP_FILES=$(wildcard ./*.cpp)
  35. OBJ_FILES=$(addprefix obj/,$(notdir $(CPP_FILES:.cpp=.o)))
  36. bbw_demo: obj $(OBJ_FILES)
  37. $(CXX) -o bbw_demo $(CFLAGS) $(AFLAGS) $(OPENMP) $(OBJ_FILES) $(LIB)
  38. obj:
  39. mkdir -p obj
  40. obj/%.o: %.cpp %.h
  41. $(CXX) $(CFLAGS) $(AFLAGS) $(OPENMP) -o $@ -c $< $(INC)
  42. obj/%.o: %.cpp
  43. $(CXX) $(CFLAGS) $(AFLAGS) $(OPENMP) -o $@ -c $< $(INC)
  44. .PHONY: clean
  45. clean:
  46. rm -f $(OBJ_FILES)
  47. rm -f bbw_demo