Makefile 951 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. CFLAGS+=-std=c++11
  25. obj:
  26. mkdir -p obj
  27. ../../../lib/libiglxml.a: $(OBJ_FILES)
  28. rm -f $@
  29. ar cqs $@ $(OBJ_FILES)
  30. obj/%.o: %.cpp %.h
  31. g++ $(AFLAGS) $(CFLAGS) -c -o $@ $< $(INC)
  32. clean:
  33. rm -f obj/*.o
  34. rm -f ../../../lib/libiglxml.a