summaryrefslogtreecommitdiff
path: root/make.tmpl.in
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2021-03-02 21:20:42 +0100
committerZdenek Kabelac <zkabelac@redhat.com>2021-03-02 22:54:40 +0100
commit6846af6612674d854613e9936deb358f6c1b3cfe (patch)
treecd7520c6760f76938d10229930f8bfc3b8d9e85a /make.tmpl.in
parent39eee85fff1930047a7dffe11183b4cafb6eb653 (diff)
downloadlvm2-6846af6612674d854613e9936deb358f6c1b3cfe.tar.gz
makefiles: retry faster deps again
From commit 29abba378520a270c3a9385724c8ef5df66497b1 we have hopefully fixed most of troubles for deps tracking we had in past - so retry again. Drop explicit configure.h from DEPS - as it's automatically gathered by gcc dependency tracking anyway.
Diffstat (limited to 'make.tmpl.in')
-rw-r--r--make.tmpl.in23
1 files changed, 8 insertions, 15 deletions
diff --git a/make.tmpl.in b/make.tmpl.in
index 024302ff2..2611dcd90 100644
--- a/make.tmpl.in
+++ b/make.tmpl.in
@@ -300,7 +300,7 @@ INCLUDES += -I$(srcdir) -I$(top_srcdir) -I$(top_builddir)/include -include confi
#VDO_INCLUDES=-I@VDO_INCLUDE@
DEPS = $(top_builddir)/make.tmpl $(top_srcdir)/VERSION \
- $(top_builddir)/Makefile $(top_builddir)/include/configure.h
+ $(top_builddir)/Makefile
OBJECTS = $(SOURCES:%.c=%.o) $(CXXSOURCES:%.cpp=%.o)
POTFILES = $(SOURCES:%.c=%.pot)
@@ -436,14 +436,16 @@ endif
.LIBPATTERNS = lib%.so lib%.a
+DEPFLAGS=-MT $@ -MMD -MP -MF $*.d
+
# still needed in 2018 for 32bit builds
DEFS+=-D_FILE_OFFSET_BITS=64
-%.o: %.c
+%.o: %.c $(DEPS)
@echo " [CC] $(<F)"
- $(Q) $(CC) -c $(INCLUDES) $(VALGRIND_CFLAGS) $(PROGS_CFLAGS) $(DEFS) $(DEFS_$@) $(WFLAGS) $(WCFLAGS) $(CFLAGS) $(CFLAGS_$@) $< -o $@
+ $(Q) $(CC) $(DEPFLAGS) -c $(INCLUDES) $(VALGRIND_CFLAGS) $(PROGS_CFLAGS) $(DEFS) $(DEFS_$@) $(WFLAGS) $(WCFLAGS) $(CFLAGS) $(CFLAGS_$@) $< -o $@
-%.o: %.cpp
+%.o: %.cpp $(DEPS)
@echo " [CXX] $(<F)"
$(Q) $(CXX) -c $(INCLUDES) $(VALGRIND_CFLAGS) $(DEFS) $(DEFS_$@) $(WFLAGS) $(CXXFLAGS) $(CXXFLAGS_$@) $< -o $@
@@ -501,17 +503,8 @@ $(LIB_STATIC): $(OBJECTS)
$(Q) $(RM) $@
$(Q) $(AR) rsv $@ $(OBJECTS) > /dev/null
-%.d: %.c
- @echo " [DEP] $(<F)"
- $(Q) $(MKDIR_P) $(dir $@); \
- set -e; \
- FILE=`echo $@ | sed 's/\\//\\\\\\//g;s/\\.d//g'`; \
- DEPS=`echo $(DEPS) | sed -e 's/\\//\\\\\\//g'`; \
- $(CC) -MM $(INCLUDES) $(VALGRIND_CFLAGS) $(PROGS_CFLAGS) $(DEFS) -o $@ $<; \
- sed -i "s/\(.*\)\.o[ :]*/$$FILE.o $$FILE.d $$FILE.pot: $$DEPS /g" $@; \
- DEPLIST=`sed 's/ \\\\//;s/.*://;' < $@`; \
- echo $$DEPLIST | fmt -1 | sed 's/ //g;s/\(.*\)/\1:/' >> $@; \
- [ -s $@ ] || $(RM) $@
+%.d:
+.PRECIOUS: %.d
%.mo: %.po
@echo " [MSGFMT] $(<F)"