diff --git a/src/Makefile.inc b/src/Makefile.inc index adaee303217..717c7d6f202 100644 --- a/src/Makefile.inc +++ b/src/Makefile.inc @@ -162,27 +162,29 @@ ifneq ($(LIBPMEMBLK_PRIV_FUNCS),) OBJS += pmemblk_priv_funcs.o endif +MAKEFILE_DEPS=../Makefile.inc Makefile $(TOP)/src/common.inc + all: $(objdir) $(LIB_OUTDIR) $(EXTRA_TARGETS) $(LIB_AR) $(LIB_SO_SONAME) $(LIB_SO_REAL) $(LIB_SO) $(objdir) $(LIB_OUTDIR): $(MKDIR) -p $@ -$(LIB_SO_REAL): $(OBJS) $(EXTRA_OBJS) $(LIB_MAP) +$(LIB_SO_REAL): $(OBJS) $(EXTRA_OBJS) $(LIB_MAP) $(MAKEFILE_DEPS) $(CC) $(LDFLAGS) -shared -Wl,--version-script=$(LIB_MAP),-soname,$(LIB_SONAME) -o $@ $(OBJS) $(EXTRA_OBJS) $(LIBS) -$(LIB_SO_SONAME): $(LIB_SO_REAL) +$(LIB_SO_SONAME): $(LIB_SO_REAL) $(MAKEFILE_DEPS) $(LN) -sf $(shell basename $<) $@ -$(LIB_SO): $(LIB_SO_SONAME) +$(LIB_SO): $(LIB_SO_SONAME) $(MAKEFILE_DEPS) $(LN) -sf $(shell basename $<) $@ -$(LIB_AR): $(LIB_AR_ALL) +$(LIB_AR): $(LIB_AR_ALL) $(MAKEFILE_DEPS) $(AR) rv $@ $(LIB_AR_ALL) -$(LIB_AR_ALL): $(LIB_AR_UNSCOPED) $(LIB_MAP) +$(LIB_AR_ALL): $(LIB_AR_UNSCOPED) $(LIB_MAP) $(MAKEFILE_DEPS) $(OBJCOPY) --localize-hidden `sed -n 's/^ *\([a-zA-Z0-9_]*\);$$/-G \1/p' $(LIB_MAP)` $< $@ -$(LIB_AR_UNSCOPED): $(OBJS) $(EXTRA_OBJS) +$(LIB_AR_UNSCOPED): $(OBJS) $(EXTRA_OBJS) $(MAKEFILE_DEPS) $(LD) -o $@ -r $(OBJS) $(EXTRA_OBJS) $(PMEMBLK_PRIV_OBJ): @@ -207,7 +209,7 @@ clobber: clean $(EXTRA_TARGETS_CLOBBER) $(eval $(cstyle-rule)) -$(objdir)/%.o: %.c +$(objdir)/%.o: %.c $(MAKEFILE_DEPS) @mkdir -p $(objdir)/.deps $(CC) -MD -c -o $@ $(CFLAGS) $(INCS) -fPIC $< $(create-deps) diff --git a/src/test/Makefile.inc b/src/test/Makefile.inc index 5e0cafd60cd..9547ecd32e3 100644 --- a/src/test/Makefile.inc +++ b/src/test/Makefile.inc @@ -162,28 +162,30 @@ TARGET_STATIC_NONDEBUG=$(TARGET).static-nondebug endif endif +MAKEFILE_DEPS=Makefile ../Makefile.inc $(TOP)/src/common.inc + all: $(TARGET) $(TARGET_STATIC_DEBUG) $(TARGET_STATIC_NONDEBUG) $(UT): $(MAKE) -C ../unittest -$(TARGET_STATIC_DEBUG): $(OBJS) $(UT) $(STATIC_DEBUG_LIBS) $(EXTRA_DEPS) +$(TARGET_STATIC_DEBUG): $(OBJS) $(UT) $(STATIC_DEBUG_LIBS) $(EXTRA_DEPS) $(MAKEFILE_DEPS) $(LINKER) -o $@ $(LDFLAGS) $(OBJS) $(STATIC_DEBUG_LIBS) $(LIBS) -$(TARGET_STATIC_NONDEBUG): $(OBJS) $(UT) $(STATIC_NONDEBUG_LIBS) $(EXTRA_DEPS) +$(TARGET_STATIC_NONDEBUG): $(OBJS) $(UT) $(STATIC_NONDEBUG_LIBS) $(EXTRA_DEPS) $(MAKEFILE_DEPS) $(LINKER) -o $@ $(LDFLAGS) $(OBJS) $(STATIC_NONDEBUG_LIBS) $(LIBS) -$(TARGET): $(OBJS) $(UT) $(EXTRA_DEPS) +$(TARGET): $(OBJS) $(UT) $(EXTRA_DEPS) $(MAKEFILE_DEPS) $(LINKER) -o $@ $(LDFLAGS) $(OBJS) $(DYNAMIC_LIBS) $(LIBS) objdir=. -%.o: %.c +%.o: %.c $(MAKEFILE_DEPS) @mkdir -p .deps $(CC) -MD -c $(CFLAGS) $(INCS) $< -o $@ $(create-deps) -%.o: %.cpp +%.o: %.cpp $(MAKEFILE_DEPS) @mkdir -p .deps $(CXX) -MD -c $(CXXFLAGS) $(INCS) $< -o $@ $(create-deps) @@ -219,6 +221,9 @@ ifeq ($(USE_PMEMSPOIL), y) all: $(TOOLS)/pmemspoil/pmemspoil endif +$(TOOLS)/bttcreate/bttcreate: + $(MAKE) -C $(TOOLS)/bttcreate all + ifeq ($(USE_BTTCREATE), y) all: $(TOOLS)/bttcreate/bttcreate endif diff --git a/src/tools/Makefile.inc b/src/tools/Makefile.inc index c1761c0ac28..10678dc1e0d 100644 --- a/src/tools/Makefile.inc +++ b/src/tools/Makefile.inc @@ -155,6 +155,8 @@ ifneq ($(LIBPMEMBLK_PRIV),) OBJS += pmemblk_priv.o endif +MAKEFILE_DEPS=$(TOP)/src/tools/Makefile.inc $(TOP)/src/common.inc + ifneq ($(TARGET),) all: $(TARGET) $(TARGET_STATIC_NONDEBUG) $(TARGET_STATIC_DEBUG) else @@ -200,16 +202,16 @@ endif %.txt: % man ./$< > $@ -$(TARGET) $(TARGET_STATIC_DEBUG) $(TARGET_STATIC_NONDEBUG): $(OBJS) +$(TARGET) $(TARGET_STATIC_DEBUG) $(TARGET_STATIC_NONDEBUG): $(OBJS) $(MAKEFILE_DEPS) $(TARGET_STATIC_DEBUG): $(STATIC_DEBUG_LIBS) - $(CC) $(LDFLAGS) -o $@ $^ $(STATIC_DEBUG_LIBS) $(LIBS) + $(CC) $(LDFLAGS) -o $@ $(OBJS) $(STATIC_DEBUG_LIBS) $(LIBS) $(TARGET_STATIC_NONDEBUG): $(STATIC_NONDEBUG_LIBS) - $(CC) $(LDFLAGS) -o $@ $^ $(STATIC_NONDEBUG_LIBS) $(LIBS) + $(CC) $(LDFLAGS) -o $@ $(OBJS) $(STATIC_NONDEBUG_LIBS) $(LIBS) $(TARGET): - $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) $(DYNAMIC_LIBS) + $(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) $(DYNAMIC_LIBS) $(PMEMLOG_PRIV_OBJ): $(MAKE) -C $(LIBSDIR) libpmemlog @@ -231,7 +233,7 @@ pmemblk_priv.o: $(PMEMBLK_PRIV_OBJ) objdir=. -%.o: %.c +%.o: %.c $(MAKEFILE_DEPS) @mkdir -p .deps $(CC) -MD $(CFLAGS) $(INCS) -c -o $@ $< $(create-deps)