lmi-commits
[Top][All Lists]
Advanced

[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)
+



reply via email to

[Prev in Thread] Current Thread [Next in Thread]