summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile12
-rw-r--r--common.mak4
-rw-r--r--subdir.mak12
3 files changed, 25 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 319740af22..bc8410e6be 100644
--- a/Makefile
+++ b/Makefile
@@ -110,8 +110,16 @@ install-man: $(MANPAGES)
install -d "$(MANDIR)/man1"
install -m 644 $(MANPAGES) "$(MANDIR)/man1"
-uninstall:
- @echo "I'm sorry, Dave. I'm afraid I can't do that"
+uninstall: uninstall-progs uninstall-data uninstall-man
+
+uninstall-progs:
+ rm -f $(addprefix "$(BINDIR)/", $(ALLPROGS))
+
+uninstall-data:
+ rm -rf "$(DATADIR)"
+
+uninstall-man:
+ rm -f $(addprefix "$(MANDIR)/man1/",$(ALLMANPAGES))
testclean:
rm -rf tests/vsynth1 tests/vsynth2 tests/data tests/*~
diff --git a/common.mak b/common.mak
index deb3e782c5..aa3324ae93 100644
--- a/common.mak
+++ b/common.mak
@@ -47,7 +47,9 @@ $(BUILD_ROOT_REL)/version.h: $(SRC_PATH_BARE)/version.sh config.mak
install: install-libs install-headers
-.PHONY: all depend dep *clean install* uninstall examples testprogs
+uninstall: uninstall-libs uninstall-headers
+
+.PHONY: all depend dep *clean install* uninstall* examples testprogs
endif
OBJS-$(HAVE_MMX) += $(MMX-OBJS-yes)
diff --git a/subdir.mak b/subdir.mak
index 13f304e865..2448950630 100644
--- a/subdir.mak
+++ b/subdir.mak
@@ -84,6 +84,18 @@ ifdef BUILT_HEADERS
install -m 644 $(addprefix $(SUBDIR),$(BUILT_HEADERS)) "$(INCINSTDIR)"
endif
install -m 644 $(BUILD_ROOT)/lib$(NAME)/lib$(NAME).pc "$(LIBDIR)/pkgconfig"
+
+uninstall-libs::
+ -rm -f "$(SHLIBDIR)/$(SLIBNAME_WITH_MAJOR)" \
+ "$(SHLIBDIR)/$(SLIBNAME)" \
+ "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)"
+ -$(SLIB_UNINSTALL_EXTRA_CMD)
+ -rm -f "$(LIBDIR)/$(LIBNAME)"
+
+uninstall-headers::
+ rm -f $(addprefix "$(INCINSTDIR)/",$(HEADERS))
+ rm -f "$(LIBDIR)/pkgconfig/lib$(NAME).pc"
+ -rmdir "$(INCDIR)"
endef
$(eval $(RULES))