makefile.in 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. #compile flag
  2. CFLAGS = -Wall -c -Wno-deprecated -fPIC -x c
  3. CPPFLAGS = -std=c++14 -Wall -c -Wno-deprecated -fPIC
  4. #macro define
  5. MACRO_DEFINE =
  6. ifneq ($(DEBUG),1)
  7. ifneq ($(RELEASE_DEBUG),1)
  8. # release
  9. #compile flag
  10. CFLAGS += -O2
  11. CPPFLAGS += -O2
  12. #macro define
  13. MACRO_DEFINE += -DNDEBUG
  14. #output define
  15. OBJS_SUFFIX = o
  16. DEPS_SUFFIX = d
  17. else
  18. #release_debug
  19. #compile flag
  20. CFLAGS += -g -O2
  21. CPPFLAGS += -g -O2
  22. #macro define
  23. MACRO_DEFINE += -DNDEBUG -DRELEASE_DEBUG
  24. #output define
  25. ifneq ($(USE_ASAN),1)
  26. OBJS_SUFFIX = rd_o
  27. DEPS_SUFFIX = rd_d
  28. else
  29. OBJS_SUFFIX = rd_asan_o
  30. DEPS_SUFFIX = rd_asan_d
  31. endif
  32. endif
  33. else
  34. #debug
  35. #compile flag
  36. CFLAGS += -g
  37. CPPFLAGS += -g
  38. #macro define
  39. MACRO_DEFINE += -D_DEBUG
  40. #output define
  41. OBJS_SUFFIX = d_o
  42. DEPS_SUFFIX = d_d
  43. endif
  44. #use pthread
  45. ifneq ($(USE_PTHREAD),1)
  46. #link flag
  47. LD_SO_FLAGS := -shared -o
  48. LD_EXE_FLAGS := -o
  49. #compile flag
  50. else
  51. #link flag
  52. LD_SO_FLAGS := -shared -pthread -o
  53. LD_EXE_FLAGS := -pthread -o
  54. #compile flag
  55. CFLAGS += -pthread
  56. CPPFLAGS += -pthread
  57. endif
  58. #generate dependency flag
  59. DEP_OPT = -MM -MP -MT
  60. #compile command
  61. C_COMPILE = g++ $(CFLAGS) $(MACRO_DEFINE) $(INCLUDE_PATH)
  62. CPP_COMPILE = g++ $(CPPFLAGS) $(MACRO_DEFINE) $(INCLUDE_PATH)
  63. #link command
  64. LINK_SHARE = g++ $(LD_SO_FLAGS)
  65. LINK_EXE = g++ -rdynamic $(LD_EXE_FLAGS)
  66. #c generate dependency command
  67. C_DEPEND = g++ $(CFLAGS) $(MACRO_DEFINE) $(INCLUDE_PATH) $(DEP_OPT)
  68. C_DEPEND.d = $(subst -g ,,$(C_DEPEND))
  69. #cpp generate dependency command
  70. CPP_DEPEND = g++ $(CPPFLAGS) $(MACRO_DEFINE) $(INCLUDE_PATH) $(DEP_OPT)
  71. CPP_DEPEND.d = $(subst -g ,,$(CPP_DEPEND))
  72. #generate lib command
  73. ARCHIVE = ar rcu
  74. RANLIB = ranlib
  75. # Rules for creating dependency files (.d).
  76. #------------------------------------------
  77. $(OBJS_DIR)%.$(DEPS_SUFFIX):%.c
  78. @echo -n $(dir $<) > $@
  79. $(C_DEPEND.d) $(basename $@).$(OBJS_SUFFIX) $< >> $@
  80. $(OBJS_DIR)%.$(DEPS_SUFFIX):%.C
  81. @echo -n $(dir $<) > $@
  82. $(C_DEPEND.d) $(basename $@).$(OBJS_SUFFIX) $< >> $@
  83. $(OBJS_DIR)%.$(DEPS_SUFFIX):%.cc
  84. @echo -n $(dir $<) > $@
  85. $(C_DEPEND.d) $(basename $@).$(OBJS_SUFFIX) $< >> $@
  86. $(OBJS_DIR)%.$(DEPS_SUFFIX):%.cpp
  87. @echo -n $(dir $<) > $@
  88. $(CPP_DEPEND.d) $(basename $@).$(OBJS_SUFFIX) $< >> $@
  89. $(OBJS_DIR)%.$(DEPS_SUFFIX):%.CPP
  90. @echo -n $(dir $<) > $@
  91. $(CPP_DEPEND.d) $(basename $@).$(OBJS_SUFFIX) $< >> $@
  92. $(OBJS_DIR)%.$(DEPS_SUFFIX):%.c++
  93. @echo -n $(dir $<) > $@
  94. $(CPP_DEPEND.d) $(basename $@).$(OBJS_SUFFIX) $< >> $@
  95. $(OBJS_DIR)%.$(DEPS_SUFFIX):%.cp
  96. @echo -n $(dir $<) > $@
  97. $(CPP_DEPEND.d) $(basename $@).$(OBJS_SUFFIX) $< >> $@
  98. $(OBJS_DIR)%.$(DEPS_SUFFIX):%.cxx
  99. @echo -n $(dir $<) > $@
  100. $(CPP_DEPEND.d) $(basename $@).$(OBJS_SUFFIX) $< >> $@
  101. # Rules for generating object files (.o).
  102. #----------------------------------------
  103. $(OBJS_DIR)%.$(OBJS_SUFFIX):%.c
  104. $(C_COMPILE) $< -o $@
  105. $(OBJS_DIR)%.$(OBJS_SUFFIX):%.C
  106. $(C_COMPILE) $< -o $@
  107. $(OBJS_DIR)%.$(OBJS_SUFFIX):%.cc
  108. $(CPP_COMPILE) $< -o $@
  109. $(OBJS_DIR)%.$(OBJS_SUFFIX):%.cpp
  110. $(CPP_COMPILE) $< -o $@
  111. $(OBJS_DIR)%.$(OBJS_SUFFIX):%.CPP
  112. $(CPP_COMPILE) $< -o $@
  113. $(OBJS_DIR)%.$(OBJS_SUFFIX):%.c++
  114. $(CPP_COMPILE) $< -o $@
  115. $(OBJS_DIR)%.$(OBJS_SUFFIX):%.cp
  116. $(CPP_COMPILE) $< -o $@
  117. $(OBJS_DIR)%.$(OBJS_SUFFIX):%.cxx
  118. $(CPP_COMPILE) $< -o $@