PageRenderTime 46ms CodeModel.GetById 16ms RepoModel.GetById 1ms app.codeStats 0ms

/build/compile.cpp.mk

https://bitbucket.org/spamdaemon/xylon
Makefile | 40 lines | 32 code | 5 blank | 3 comment | 0 complexity | 768d8dfcce1b3835aa0ee07202e2abbd MD5 | raw file
Possible License(s): LGPL-2.1
  1. # this fragment defines how to compile source code
  2. # it defines functions such as compile.cpp, compile.c
  3. # to compile C++ and C code
  4. define compile.cpp
  5. g++ -c -fPIC -o $@ $< \
  6. $(CPP_WARNING_OPTS)\
  7. $(CPP_STANDARD_OPTS) \
  8. $(EXT_CPP_OPTS) \
  9. $(if $(filter true,$(COVERAGE)), $(COMPILER_COVERAGE_OPTS)) \
  10. $(if $(filter true,$(OPTIMIZE)), $(CPP_OPTIMIZE_OPTS),$(CPP_DEBUG_OPTS)) \
  11. $(addprefix -I,$(BASE_INC_SEARCH_PATH) $(PROJ_INC_SEARCH_PATH) $(EXT_INC_SEARCH_PATH)) \
  12. $(addprefix -D,$(CPP_DEFINES) $(PROJ_COMPILER_DEFINES) $(EXT_COMPILER_DEFINES))
  13. endef
  14. define compile.test.cpp
  15. g++ -c -fPIC -o $@ $< \
  16. $(CPP_WARNING_OPTS)\
  17. $(CPP_STANDARD_OPTS) \
  18. $(EXT_CPP_OPTS) \
  19. $(CPP_DEBUG_OPTS) \
  20. $(addprefix -I,$(BASE_INC_SEARCH_PATH) $(PROJ_INC_SEARCH_PATH) $(EXT_INC_SEARCH_PATH)) \
  21. $(addprefix -D,$(CPP_DEFINES) $(PROJ_COMPILER_DEFINES) $(EXT_COMPILER_DEFINES))
  22. endef
  23. define make.depend.cpp
  24. g++ -MM -MG -MT $(patsubst %.depend,%.o,$@) -MF $@ $< \
  25. $(CPP_WARNING_OPTS)\
  26. $(CPP_STANDARD_OPTS) \
  27. $(EXT_CPP_OPTS) \
  28. $(addprefix -I,$(BASE_INC_SEARCH_PATH) $(PROJ_INC_SEARCH_PATH) $(EXT_INC_SEARCH_PATH)) \
  29. $(addprefix -D,$(CPP_DEFINES) $(PROJ_COMPILER_DEFINES) $(EXT_COMPILER_DEFINES))
  30. endef
  31. define check.cpp
  32. cppcheck \
  33. $(addprefix -I,$(BASE_INC_SEARCH_PATH) $(PROJ_INC_SEARCH_PATH) $(EXT_INC_SEARCH_PATH)) \
  34. --error-exitcode=1 $< 2> $@ 1> /dev/null
  35. endef