Makefile 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. .PHONY: all
  2. all: lib examples extras
  3. # Shared flags etc.
  4. include Makefile.conf
  5. EXTRA_DIRS=
  6. ifeq ($(IGL_WITH_TETGEN),1)
  7. # append tetgen extra dir
  8. EXTRA_DIRS+=include/igl/tetgen
  9. endif
  10. .PHONY: examples
  11. .PHONY: extras
  12. debug: lib
  13. lib: obj lib/libigl.a
  14. examples:
  15. make -C examples
  16. extras:
  17. for p in $(EXTRA_DIRS); \
  18. do \
  19. echo "cd $$p" ; \
  20. $(MAKE) -C $$p ; \
  21. done
  22. #############################################################################
  23. # SOURCE
  24. #############################################################################
  25. CPP_FILES=$(wildcard include/igl/*.cpp)
  26. OBJ_FILES=$(addprefix obj/,$(notdir $(CPP_FILES:.cpp=.o)))
  27. # include igl headers
  28. INC+=-Iinclude/
  29. #############################################################################
  30. # DEPENDENCIES
  31. #############################################################################
  32. # Eigen dependency
  33. EIGEN3_INC=-I/opt/local/include/eigen3 -I/opt/local/include/eigen3/unsupported
  34. INC+=$(EIGEN3_INC)
  35. # AntTweakBar dependency
  36. ANTTWEAKBAR_INC=-I/opt/local/include
  37. INC+=$(ANTTWEAKBAR_INC)
  38. ## OpenGL dependency
  39. #LIB+=-framework OpenGL
  40. #LIB+=-framework GLUT
  41. #LIB+=-framework AppKit
  42. obj:
  43. mkdir -p obj
  44. lib/libigl.a: $(OBJ_FILES)
  45. rm -f $@
  46. ar cqs $@ $(OBJ_FILES)
  47. obj/%.o: include/igl/%.cpp include/igl/%.h
  48. g++ $(CFLAGS) $(AFLAGS) -c -o $@ $< $(INC)
  49. clean:
  50. rm -f obj/*.o
  51. rm -f lib/libigl.a
  52. make -C examples clean
  53. for p in $(EXTRA_DIRS); \
  54. do \
  55. echo "cd $$p" ; \
  56. $(MAKE) -C $$p clean; \
  57. done