summaryrefslogtreecommitdiff
path: root/make.tmpl.in
diff options
context:
space:
mode:
authorJoe Thornber <ejt@redhat.com>2018-05-04 09:48:40 +0100
committerJoe Thornber <ejt@redhat.com>2018-05-04 09:48:40 +0100
commited837e6971ee84aa5b112e021df19901ae400216 (patch)
treef1328d48004d3cfdab9dec549ae108eb966746ca /make.tmpl.in
parent49db9b5e0b35f6b0a47ad10276fb252c09f438ef (diff)
downloadlvm2-ed837e6971ee84aa5b112e021df19901ae400216.tar.gz
Revert "build: Calculate dependencies at same time as compiling."
This reverts commit 0931067dc5549c443e144d599683b53220021f44. The dep files should be in the build dir, which is not necc. the src dir. Easy to fix, but reverting for now until I have time to revisit.
Diffstat (limited to 'make.tmpl.in')
-rw-r--r--make.tmpl.in19
1 files changed, 13 insertions, 6 deletions
diff --git a/make.tmpl.in b/make.tmpl.in
index d3a80ef0c..9d5d36757 100644
--- a/make.tmpl.in
+++ b/make.tmpl.in
@@ -442,14 +442,12 @@ 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
@echo " [CC] $<"
- $(Q) $(CC) $(DEPFLAGS) -c $(INCLUDES) $(VALGRIND_CFLAGS) $(PROGS_CFLAGS) $(DEFS) $(DEFS_$@) $(WFLAGS) $(WCFLAGS) $(CFLAGS) $(CFLAGS_$@) $< -o $@
+ $(Q) $(CC) -c $(INCLUDES) $(VALGRIND_CFLAGS) $(PROGS_CFLAGS) $(DEFS) $(DEFS_$@) $(WFLAGS) $(WCFLAGS) $(CFLAGS) $(CFLAGS_$@) $< -o $@
%.o: %.cpp
@echo " [CXX] $<"
@@ -509,9 +507,18 @@ $(LIB_STATIC): $(OBJECTS)
$(Q) $(RM) $@
$(Q) $(AR) rsv $@ $(OBJECTS) > /dev/null
-%.d: $(INC_LNS)
-.PRECIOUS: %.d
-
+%.d: %.c $(INC_LNS)
+ @echo " [DEP] $<"
+ $(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) $@
+
%.mo: %.po
@echo " [MSGFMT] $<"
$(Q) $(MSGFMT) -o $@ $<