summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2015-05-18 10:27:48 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2015-05-18 12:45:42 +0200
commit30c3bbcd9e852d7f79846ecc57148a47e52e818d (patch)
tree0357f2c82acde5941377578029d4add4e7aa4bb6
parent1bed578535f9f2442916ce7da060132233502bcb (diff)
downloadlvm2-30c3bbcd9e852d7f79846ecc57148a47e52e818d.tar.gz
makefiles: better clean
More exact clean of library exported symbols files. Also use $(firstword) test to check for empty string so 'make clean' has now cleaner condensed look. Clean also created include links.
-rw-r--r--include/Makefile.in12
-rw-r--r--libdm/Makefile.in2
-rw-r--r--liblvm/Makefile.in2
-rw-r--r--make.tmpl.in20
-rw-r--r--test/Makefile.in10
-rw-r--r--tools/Makefile.in3
6 files changed, 30 insertions, 19 deletions
diff --git a/include/Makefile.in b/include/Makefile.in
index 3daaab105..2049b671e 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -20,8 +20,12 @@ include $(top_builddir)/make.tmpl
all: .symlinks_created
-.symlinks_created: .symlinks
- find . -maxdepth 1 -type l -exec $(RM) \{\} \;
+LINKS := $(shell find . -maxdepth 1 -type l)
+
+.symlinks_created: .symlinks
+ifneq (,$(firstword $(LINKS)))
+ $(RM) $(LINKS)
+endif
for i in `cat $<`; do $(LN_S) $$i ; done
touch $@
@@ -31,5 +35,5 @@ device-mapper: all
cflow: all
-DISTCLEAN_TARGETS += $(shell find . -maxdepth 1 -type l)
-DISTCLEAN_TARGETS += .include_symlinks .symlinks_created .symlinks
+DISTCLEAN_TARGETS += .symlinks
+CLEAN_TARGETS += $(LINKS) .include_symlinks .symlinks_created
diff --git a/libdm/Makefile.in b/libdm/Makefile.in
index c1d7871ad..ba65c6afb 100644
--- a/libdm/Makefile.in
+++ b/libdm/Makefile.in
@@ -94,4 +94,4 @@ install_ioctl_static: $(LIB_STATIC)
$(INSTALL_DATA) -D $< $(usrlibdir)/$(<F)
CLEAN_TARGETS += ioctl/libdevmapper.a
-DISTCLEAN_TARGETS += libdevmapper.pc .exported_symbols_generated
+DISTCLEAN_TARGETS += libdevmapper.pc
diff --git a/liblvm/Makefile.in b/liblvm/Makefile.in
index d0f8d1b5b..69c12bb48 100644
--- a/liblvm/Makefile.in
+++ b/liblvm/Makefile.in
@@ -81,4 +81,4 @@ liblvm.cflow: $(SOURCES)
cflow: liblvm.cflow
-DISTCLEAN_TARGETS += $(LIB_NAME).pc .exported_symbols_generated
+DISTCLEAN_TARGETS += $(LIB_NAME).pc
diff --git a/make.tmpl.in b/make.tmpl.in
index 4ad7f58d7..95ca299f8 100644
--- a/make.tmpl.in
+++ b/make.tmpl.in
@@ -423,6 +423,8 @@ endif
$(LIB_SHARED): $(LIB_SHARED).$(LIB_VERSION)
$(LN_S) -f $(<F) $@
+CLEAN_TARGETS += $(LDDEPS) .exported_symbols_generated
+
install_lib_shared: $(LIB_SHARED)
$(INSTALL_PROGRAM) -D $< $(libdir)/$(<F).$(LIB_VERSION)
$(INSTALL_DIR) $(usrlibdir)
@@ -459,17 +461,23 @@ $(LIB_STATIC): $(OBJECTS)
%.mo: %.po
$(MSGFMT) -o $@ $<
+CLEAN_TARGETS += \
+ $(SOURCES:%.c=%.d) $(SOURCES:%.c=%.gcno) $(SOURCES:%.c=%.gcda) \
+ $(SOURCES2:%.c=%.o) $(SOURCES2:%.c=%.d) $(SOURCES2:%.c=%.gcno) $(SOURCES2:%.c=%.gcda) \
+ $(POTFILES) $(CLEAN_CFLOW)
+
cleandir:
- test -z "$(CLEAN_DIRS)" || $(RM) -r $(CLEAN_DIRS)
- $(RM) $(OBJECTS) $(TARGETS) $(CLEAN_TARGETS) $(CLEAN_CFLOW) $(LDDEPS) \
- $(POTFILES) $(SOURCES:%.c=%.d) $(SOURCES:%.c=%.gcno) $(SOURCES:%.c=%.gcda) \
- $(SOURCES2:%.c=%.o) $(SOURCES2:%.c=%.d) $(SOURCES2:%.c=%.gcno) $(SOURCES2:%.c=%.gcda) \
- .exported_symbols_generated core
+ifneq (,$(firstword $(CLEAN_DIRS)))
+ $(RM) -r $(CLEAN_DIRS)
+endif
+ $(RM) $(OBJECTS) $(TARGETS) $(CLEAN_TARGETS) core
clean: $(SUBDIRS.clean) cleandir
distclean: cleandir $(SUBDIRS.distclean)
- test -z "$(DISTCLEAN_DIRS)" || $(RM) -r $(DISTCLEAN_DIRS)
+ifneq (,$(firstword $(DISTCLEAN_DIRS)))
+ $(RM) -r $(DISTCLEAN_DIRS)
+endif
$(RM) $(DISTCLEAN_TARGETS) Makefile
.exported_symbols_generated: $(EXPORTED_HEADER) .exported_symbols $(DEPS)
diff --git a/test/Makefile.in b/test/Makefile.in
index 5b9d5ad71..cd2c42532 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -263,12 +263,10 @@ LIB = $(LIB_SHARED) $(LIB_LOCAL) $(LIB_EXEC) $(LIB_FLAVOURS)
$(LN_S) -f $(abs_top_srcdir)/conf/thin-performance.profile lib/thin-performance.profile
touch $@
-cleantest:
- test "$(srcdir)" = . || $(RM) $(RUN_BASE)
- $(RM) -r $(LVM_TEST_RESULTS)
-
-clean: cleantest
-distclean: cleantest
+CLEAN_DIRS += $(LVM_TEST_RESULTS)
+ifneq (.,$(firstword $(srcdir)))
+CLEAN_TARGETS += $(RUN_BASE)
+endif
CLEAN_TARGETS += .lib-dir-stamp .tests-stamp $(LIB) $(addprefix lib/,$(CMDS)) \
lib/clvmd lib/dmeventd lib/dmsetup lib/lvmetad lib/fsadm lib/vgimportclone \
diff --git a/tools/Makefile.in b/tools/Makefile.in
index 20c988df3..9bbf87b5b 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -97,7 +97,8 @@ LIB_VERSION = $(LIB_VERSION_LVM)
CLEAN_TARGETS = liblvm2cmd.$(LIB_SUFFIX) $(TARGETS_DM) \
liblvm2cmd.$(LIB_SUFFIX).$(LIB_VERSION) lvm-static.o \
- liblvm2cmd-static.a dmsetup.static lvm.static
+ liblvm2cmd-static.a dmsetup.static lvm.static \
+ $(LDDEPS) .exported_symbols_generated
ifeq ("@CMDLIB@", "yes")
TARGETS += liblvm2cmd.$(LIB_SUFFIX).$(LIB_VERSION)