[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master f1753a9 1/2: Clobber only $exec_prefix when b
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master f1753a9 1/2: Clobber only $exec_prefix when building autotoolized libraries |
Date: |
Sat, 27 May 2017 13:12:18 -0400 (EDT) |
branch: master
commit f1753a9a1255de0f8a7ca47d5fcdc429ba222e18
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>
Clobber only $exec_prefix when building autotoolized libraries
Formerly, $prefix was clobbered, so that before building architecture
X, any leftover build for architecture Y in a different $exec_prefix
was removed. See:
http://lists.nongnu.org/archive/html/lmi/2017-05/msg00041.html
---
install_libxml2_libxslt.make | 32 +++++++++++++++++++++++---------
install_wx.make | 19 +++++++++++--------
install_wxpdfdoc.make | 15 ++++++---------
3 files changed, 40 insertions(+), 26 deletions(-)
diff --git a/install_libxml2_libxslt.make b/install_libxml2_libxslt.make
index eb2ab87..94e2256 100644
--- a/install_libxml2_libxslt.make
+++ b/install_libxml2_libxslt.make
@@ -143,7 +143,7 @@ WGET := wget
# Targets
######################################################################
.PHONY: all
-all: clobber $(source_archives) $(libraries)
+all: clobber_exec_prefix_only $(source_archives) $(libraries)
# Order-only prerequisites.
@@ -151,7 +151,7 @@ $(libxml2_version):| $(zlib_version)
$(libxslt_version):| $(libxml2_version)
$(libraries) :| $(source_archives)
$(source_archives):| initial_setup
-initial_setup :| clobber
+initial_setup :| clobber_exec_prefix_only
.PHONY: initial_setup
initial_setup:
@@ -195,11 +195,25 @@ $(libraries):
&& $(MAKE) \
&& $(MAKE) install \
-.PHONY: clobber
-clobber:
- -for z in $(libraries); \
- do \
- cd $(xml_dir)/$$z && $(MAKE) uninstall maintainer-clean; \
- $(RM) --recursive $(xml_dir)/$$z; \
- done;
+# Nonchalantly remove pkgconfig and cmake subdirectories, even though
+# other libraries might someday write files in them, because lmi never
+# uses them.
+
+.PHONY: clobber_exec_prefix_only
+clobber_exec_prefix_only:
+ -$(RM) --force --recursive $(exec_prefix)/bin/*xml2*
+ -$(RM) --force --recursive $(exec_prefix)/bin/*xslt*
+ -$(RM) --force --recursive $(exec_prefix)/bin/xmllint*
+ -$(RM) --force --recursive $(exec_prefix)/bin/xmlcatalog*
+ -$(RM) --force --recursive $(exec_prefix)/include/libxml2
+ -$(RM) --force --recursive $(exec_prefix)/include/libxslt
+ -$(RM) --force --recursive $(exec_prefix)/include/libexslt
+ -$(RM) --force --recursive $(exec_prefix)/include/zconf.h
+ -$(RM) --force --recursive $(exec_prefix)/include/zlib.h
+ -$(RM) --force --recursive $(exec_prefix)/lib/*xml2*
+ -$(RM) --force --recursive $(exec_prefix)/lib/*xslt*
+ -$(RM) --force --recursive $(exec_prefix)/lib/libz*
+ -$(RM) --force --recursive $(exec_prefix)/lib/cmake
+ -$(RM) --force --recursive $(exec_prefix)/lib/pkgconfig
+ -$(RM) --force --recursive $(xml_dir)
diff --git a/install_wx.make b/install_wx.make
index 6590b0e..d1bc4a9 100644
--- a/install_wx.make
+++ b/install_wx.make
@@ -139,14 +139,14 @@ patchset := wx-$(wx_version).patch
PATCHFLAGS := --directory=$(source_dir) --strip=1
.PHONY: all
-all: clobber $(source_archives)
+all: clobber_exec_prefix_only $(source_archives)
[ ! -e $(patchset) ] || $(PATCH) $(PATCHFLAGS) <$(patchset)
$(MKDIR) --parents $(build_dir)
$(MAKE) --file=$(this_makefile) --directory=$(build_dir) wx
# Simulated order-only prerequisites.
$(source_archives): initial_setup
-initial_setup: clobber
+initial_setup: clobber_exec_prefix_only
.PHONY: initial_setup
initial_setup:
@@ -198,11 +198,14 @@ wx:
export PATH="$(mingw_bin_dir):${PATH}" \
&& ../configure $(config_options) && $(MAKE) && $(MAKE) install \
-.PHONY: clobber
-clobber:
-# WX !! The 'uninstall' target doesn't remove quite everything.
- -cd $(build_dir) && $(MAKE) uninstall distclean
- -$(RM) --force --recursive $(prefix)/include/wx-$(basename
$(wx_version))
- -$(RM) --force --recursive $(exec_prefix)/lib/wx
+# This incidentally removes wxPdfDoc, but it's probably a good idea
+# to rebuild that whenever wx is upgraded anyway.
+
+.PHONY: clobber_exec_prefix_only
+clobber_exec_prefix_only:
+ -$(RM) --force --recursive $(exec_prefix)/bin/wx*
+ -$(RM) --force --recursive $(exec_prefix)/include/wx*
+ -$(RM) --force --recursive $(exec_prefix)/lib/wx*
+ -$(RM) --force --recursive $(exec_prefix)/lib/libwx*
-$(RM) --force --recursive $(wx_dir)
diff --git a/install_wxpdfdoc.make b/install_wxpdfdoc.make
index d29973b..b326f90 100644
--- a/install_wxpdfdoc.make
+++ b/install_wxpdfdoc.make
@@ -83,14 +83,13 @@ ECHO := echo
MD5SUM := md5sum
MKDIR := mkdir
RM := rm
-RMDIR := rmdir
UNZIP := unzip
WGET := wget
# Targets
######################################################################
.PHONY: all
-all: clobber
+all: clobber_exec_prefix_only
$(MAKE) --file=$(this_makefile) wxpdfdoc
.PHONY: initial_setup
@@ -119,11 +118,9 @@ wxpdfdoc: $(wxpdfdoc_archive)
&& ./configure $(config_options) \
&& $(MAKE) install_pdfdoc_dll install_pdfdoc_dll_headers \
-.PHONY: clobber
-clobber:
-# The 'uninstall_pdfdoc_dll_headers' target doesn't remove the (now empty)
-# directory where the headers are installed, so do it separately ourselves.
- -cd $(source_dir) && \
- $(MAKE) uninstall_pdfdoc_dll uninstall_pdfdoc_dll_headers
- -$(RMDIR) $(prefix)/include/wx
+.PHONY: clobber_exec_prefix_only
+clobber_exec_prefix_only:
+ -$(RM) --force --recursive $(exec_prefix)/lib/*wxcode*pdfdoc*
+ -$(RM) --force --recursive $(exec_prefix)/src/pdf*.inc
-$(RM) --force --recursive $(wxpdfdoc_dir)
+