123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- #compile flag
- CFLAGS = -Wall -c -Wno-deprecated -fPIC -x c
- CPPFLAGS = -std=c++14 -Wall -c -Wno-deprecated -fPIC
- #macro define
- MACRO_DEFINE =
- ifneq ($(DEBUG),1)
- ifneq ($(RELEASE_DEBUG),1)
- # release
- #compile flag
- CFLAGS += -O2
- CPPFLAGS += -O2
- #macro define
- MACRO_DEFINE += -DNDEBUG
- #output define
- OBJS_SUFFIX = o
- DEPS_SUFFIX = d
- else
- #release_debug
- #compile flag
- CFLAGS += -g -O2
- CPPFLAGS += -g -O2
- #macro define
- MACRO_DEFINE += -DNDEBUG -DRELEASE_DEBUG
- #output define
- ifneq ($(USE_ASAN),1)
- OBJS_SUFFIX = rd_o
- DEPS_SUFFIX = rd_d
- else
- OBJS_SUFFIX = rd_asan_o
- DEPS_SUFFIX = rd_asan_d
- endif
- endif
- else
- #debug
- #compile flag
- CFLAGS += -g
- CPPFLAGS += -g
- #macro define
- MACRO_DEFINE += -D_DEBUG
- #output define
- OBJS_SUFFIX = d_o
- DEPS_SUFFIX = d_d
- endif
- #use pthread
- ifneq ($(USE_PTHREAD),1)
- #link flag
- LD_SO_FLAGS := -shared -o
- LD_EXE_FLAGS := -o
- #compile flag
- else
- #link flag
- LD_SO_FLAGS := -shared -pthread -o
- LD_EXE_FLAGS := -pthread -o
- #compile flag
- CFLAGS += -pthread
- CPPFLAGS += -pthread
- endif
- #generate dependency flag
- DEP_OPT = -MM -MP -MT
- #compile command
- C_COMPILE = g++ $(CFLAGS) $(MACRO_DEFINE) $(INCLUDE_PATH)
- CPP_COMPILE = g++ $(CPPFLAGS) $(MACRO_DEFINE) $(INCLUDE_PATH)
- #link command
- LINK_SHARE = g++ $(LD_SO_FLAGS)
- LINK_EXE = g++ -rdynamic $(LD_EXE_FLAGS)
- #c generate dependency command
- C_DEPEND = g++ $(CFLAGS) $(MACRO_DEFINE) $(INCLUDE_PATH) $(DEP_OPT)
- C_DEPEND.d = $(subst -g ,,$(C_DEPEND))
- #cpp generate dependency command
- CPP_DEPEND = g++ $(CPPFLAGS) $(MACRO_DEFINE) $(INCLUDE_PATH) $(DEP_OPT)
- CPP_DEPEND.d = $(subst -g ,,$(CPP_DEPEND))
- #generate lib command
- ARCHIVE = ar rcu
- RANLIB = ranlib
- # Rules for creating dependency files (.d).
- #------------------------------------------
- $(OBJS_DIR)%.$(DEPS_SUFFIX):%.c
- @echo -n $(dir $<) > $@
- $(C_DEPEND.d) $(basename $@).$(OBJS_SUFFIX) $< >> $@
- $(OBJS_DIR)%.$(DEPS_SUFFIX):%.C
- @echo -n $(dir $<) > $@
- $(C_DEPEND.d) $(basename $@).$(OBJS_SUFFIX) $< >> $@
- $(OBJS_DIR)%.$(DEPS_SUFFIX):%.cc
- @echo -n $(dir $<) > $@
- $(C_DEPEND.d) $(basename $@).$(OBJS_SUFFIX) $< >> $@
- $(OBJS_DIR)%.$(DEPS_SUFFIX):%.cpp
- @echo -n $(dir $<) > $@
- $(CPP_DEPEND.d) $(basename $@).$(OBJS_SUFFIX) $< >> $@
- $(OBJS_DIR)%.$(DEPS_SUFFIX):%.CPP
- @echo -n $(dir $<) > $@
- $(CPP_DEPEND.d) $(basename $@).$(OBJS_SUFFIX) $< >> $@
- $(OBJS_DIR)%.$(DEPS_SUFFIX):%.c++
- @echo -n $(dir $<) > $@
- $(CPP_DEPEND.d) $(basename $@).$(OBJS_SUFFIX) $< >> $@
- $(OBJS_DIR)%.$(DEPS_SUFFIX):%.cp
- @echo -n $(dir $<) > $@
- $(CPP_DEPEND.d) $(basename $@).$(OBJS_SUFFIX) $< >> $@
- $(OBJS_DIR)%.$(DEPS_SUFFIX):%.cxx
- @echo -n $(dir $<) > $@
- $(CPP_DEPEND.d) $(basename $@).$(OBJS_SUFFIX) $< >> $@
- # Rules for generating object files (.o).
- #----------------------------------------
- $(OBJS_DIR)%.$(OBJS_SUFFIX):%.c
- $(C_COMPILE) $< -o $@
- $(OBJS_DIR)%.$(OBJS_SUFFIX):%.C
- $(C_COMPILE) $< -o $@
- $(OBJS_DIR)%.$(OBJS_SUFFIX):%.cc
- $(CPP_COMPILE) $< -o $@
- $(OBJS_DIR)%.$(OBJS_SUFFIX):%.cpp
- $(CPP_COMPILE) $< -o $@
- $(OBJS_DIR)%.$(OBJS_SUFFIX):%.CPP
- $(CPP_COMPILE) $< -o $@
- $(OBJS_DIR)%.$(OBJS_SUFFIX):%.c++
- $(CPP_COMPILE) $< -o $@
- $(OBJS_DIR)%.$(OBJS_SUFFIX):%.cp
- $(CPP_COMPILE) $< -o $@
- $(OBJS_DIR)%.$(OBJS_SUFFIX):%.cxx
- $(CPP_COMPILE) $< -o $@
|