Makefile 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. include ../../../Makefile.conf
  2. .PHONY: all
  3. all: libiglxml
  4. debug: libiglxml
  5. include ../../../Makefile.conf
  6. all: CFLAGS += -O3 -DNDEBUG
  7. debug: CFLAGS += -g -Wall -Werror
  8. .PHONY: libiglxml
  9. libiglxml: obj ../../../lib/libiglxml.a
  10. CPP_FILES=$(wildcard *.cpp)
  11. OBJ_FILES=$(addprefix obj/,$(notdir $(CPP_FILES:.cpp=.o)))
  12. # include igl headers
  13. INC+=-I../../../include/
  14. # EXPECTS THAT CFLAGS IS ALREADY SET APPROPRIATELY
  15. # Eigen dependency
  16. EIGEN3_INC=-I$(DEFAULT_PREFIX)/include/eigen3 -I$(DEFAULT_PREFIX)/include/eigen3/unsupported
  17. INC+=$(EIGEN3_INC)
  18. # xml dependency
  19. # TODO: linux, 32 bit etc
  20. TINYXML2=../../../external/tinyxml2
  21. TINYXML2_INC=-I$(TINYXML2)
  22. #TINYXML2_LIB=-L$(TINYXML2) -ltinyxml2
  23. INC+=$(TINYXML2_INC)
  24. # AntTweakBar dependency
  25. ANTTWEAKBAR_INC=-I../../../external/AntTweakBar/include
  26. INC+=$(ANTTWEAKBAR_INC)
  27. CFLAGS+=-std=c++11
  28. obj:
  29. mkdir -p obj
  30. ../../../lib/libiglxml.a: $(OBJ_FILES)
  31. rm -f $@
  32. ar cqs $@ $(OBJ_FILES)
  33. obj/%.o: %.cpp %.h
  34. g++ $(AFLAGS) $(CFLAGS) -c -o $@ $< $(INC)
  35. clean:
  36. rm -f obj/*.o
  37. rm -f ../../../lib/libiglxml.a