summaryrefslogtreecommitdiff
path: root/make.tmpl.in
diff options
context:
space:
mode:
authorJoe Thornber <ejt@redhat.com>2018-06-04 13:22:14 +0100
committerJoe Thornber <ejt@redhat.com>2018-06-04 13:22:14 +0100
commit29abba378520a270c3a9385724c8ef5df66497b1 (patch)
tree3a7e2e6da997cba6064a0ca47b6a3c32b6e2d51d /make.tmpl.in
parent66b10275c5ce7328cd5fb0f00a52de6c76e45481 (diff)
downloadlvm2-29abba378520a270c3a9385724c8ef5df66497b1.tar.gz
build: get separate builddir working again
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 16a857121..b9672dc4a 100644
--- a/make.tmpl.in
+++ b/make.tmpl.in
@@ -444,14 +444,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] $<"
@@ -511,9 +509,18 @@ $(LIB_STATIC): $(OBJECTS)
$(Q) $(RM) $@
$(Q) $(AR) rsv $@ $(OBJECTS) > /dev/null
-%.d:
-.PRECIOUS: %.d
-
+%.d: %.c
+ @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 $@ $<