提交 f6a9cb0b 编写于 作者: L leipeng

Makefile: fix dependence check

上级 233579f7
......@@ -524,7 +524,7 @@ VALGRIND_VER := $(join $(VALGRIND_VER),valgrind)
VALGRIND_OPTS = --error-exitcode=$(VALGRIND_ERROR) --leak-check=full
BENCHTOOLOBJECTS = $(BENCH_LIB_SOURCES:.cc=.o) $(TESTUTIL)
BENCHTOOLOBJECTS = $(BENCH_LIB_SOURCES:.cc=.o) $(TESTUTIL)
ANALYZETOOLOBJECTS = $(ANALYZER_LIB_SOURCES:.cc=.o)
......@@ -1246,7 +1246,7 @@ librocksdb_env_basic_test.a: env/env_basic_test.o $(TESTHARNESS)
$(AM_V_AR)rm -f $@
$(AM_V_at)$(AR) $(ARFLAGS) $@ $^
db_bench: tools/db_bench.o $(BENCHTOOLOBJECTS)
db_bench: tools/db_bench.o $(BENCHTOOLOBJECTS)
$(AM_LINK) librocksdb.a -lgflags -fopenmp
trace_analyzer: tools/trace_analyzer.o $(ANALYZETOOLOBJECTS) $(LIBOBJECTS)
......@@ -2158,6 +2158,7 @@ endif
all_sources = $(LIB_SOURCES) $(MAIN_SOURCES) $(MOCK_LIB_SOURCES) $(TOOL_LIB_SOURCES) $(BENCH_LIB_SOURCES) $(TEST_LIB_SOURCES) $(EXP_LIB_SOURCES) $(ANALYZER_LIB_SOURCES)
DEPFILES = $(addprefix ${xdir}/,$(all_sources:.cc=.cc.d))
DEPFILES += $(addprefix shared-objects/${xdir}/,$(all_sources:.cc=.cc.d))
# Add proper dependency support so changing a .h file forces a .cc file to
# rebuild.
......@@ -2167,21 +2168,39 @@ DEPFILES = $(addprefix ${xdir}/,$(all_sources:.cc=.cc.d))
${xdir}/%.cc.d: %.cc
@mkdir -p $(dir $@)
@$(CXX) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) \
-MM -MT'$@' -MT'$(<:.cc=.o)' "$<" -o '$@'
-MM -MT'$@' -MT'$(@:.cc.d=.o)' "$<" -o '$@'
shared-objects/${xdir}/%.cc.d: %.cc
@mkdir -p $(dir $@)
@$(CXX) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) \
-MM -MT'$@' -MT'$(@:.cc.d=.o)' "$<" -o '$@'
ifeq ($(HAVE_POWER8),1)
DEPFILES_C = $(addprefix ${xdir}/,$(LIB_SOURCES_C:.c=.c.d))
DEPFILES_ASM = $(addprefix ${xdir}/,$(LIB_SOURCES_ASM:.S=.S.d))
DEPFILES_C += $(addprefix shared-objects/${xdir}/,$(LIB_SOURCES_C:.c=.c.d))
DEPFILES_ASM += $(addprefix shared-objects/${xdir}/,$(LIB_SOURCES_ASM:.S=.S.d))
${xdir}/%.c.d: %.c
@mkdir -p $(dir $@)
@$(CXX) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) \
-MM -MT'$@' -MT'$(<:.c=.o)' "$<" -o '$@'
-MM -MT'$@' -MT'$(@:.c.d=.o)' "$<" -o '$@'
${xdir}/%.S.d: %.S
@mkdir -p $(dir $@)
@$(CXX) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) \
-MM -MT'$@' -MT'$(<:.S=.o)' "$<" -o '$@'
-MM -MT'$@' -MT'$(@:.S.d=.o)' "$<" -o '$@'
shared-objects/${xdir}/%.c.d: %.c
@mkdir -p $(dir $@)
@$(CXX) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) \
-MM -MT'$@' -MT'$(@:.c.d=.o)' "$<" -o '$@'
shared-objects/${xdir}/%.S.d: %.S
@mkdir -p $(dir $@)
@$(CXX) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) \
-MM -MT'$@' -MT'$(@:.S.d=.o)' "$<" -o '$@'
$(DEPFILES_C): %.c.d
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册