From 7c02797d0d5985627fdb50f15a15b6076f8f8843 Mon Sep 17 00:00:00 2001 From: Ralf Wildenhues Date: Sun, 7 Sep 2008 09:25:02 +0200 Subject: [PATCH] Faster `make uninstall'; fast install for JAVA. * lib/am/inst-vars.am (am__nobase_strip_setup) (am__nobase_strip): New macros. (am__nobase_list): Factorize. * lib/am/data.am (uninstall-%DIR%%PRIMARY%): Use them, for a constant number of forks per uninstall. * lib/am/libs.am (uninstall-%DIR%LIBRARIES): Likewise. * lib/am/lisp.am (uninstall-%DIR%LISP): Likewise. * lib/am/progs.am (uninstall-%DIR%PROGRAMS): Fast uninstall. * lib/am/python.am (uninstall-%DIR%PYTHON): Fast uninstall. Echo all `rm' commands that are are executed. * lib/am/java.am (install-%DIR%JAVA, uninstall-%DIR%JAVA): Fast install and uninstall. Signed-off-by: Ralf Wildenhues --- ChangeLog | 14 ++++++++++++++ doc/Makefile.in | 19 +++++++++++-------- lib/Automake/Makefile.in | 29 ++++++++++++++++------------- lib/Makefile.in | 29 ++++++++++++++++------------- lib/am/Makefile.in | 19 +++++++++++-------- lib/am/data.am | 12 ++++++------ lib/am/inst-vars.am | 12 +++++++++--- lib/am/java.am | 16 ++++++++-------- lib/am/libs.am | 11 ++++++----- lib/am/lisp.am | 18 ++++++++++-------- lib/am/progs.am | 19 +++++++++++-------- lib/am/python.am | 19 ++++++++++++------- m4/Makefile.in | 19 +++++++++++-------- 13 files changed, 141 insertions(+), 95 deletions(-) diff --git a/ChangeLog b/ChangeLog index 78b458b04..4266e4dc6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,19 @@ 2008-09-07 Ralf Wildenhues + Faster `make uninstall'; fast install for JAVA. + * lib/am/inst-vars.am (am__nobase_strip_setup) + (am__nobase_strip): New macros. + (am__nobase_list): Factorize. + * lib/am/data.am (uninstall-%DIR%%PRIMARY%): Use them, for a + constant number of forks per uninstall. + * lib/am/libs.am (uninstall-%DIR%LIBRARIES): Likewise. + * lib/am/lisp.am (uninstall-%DIR%LISP): Likewise. + * lib/am/progs.am (uninstall-%DIR%PROGRAMS): Fast uninstall. + * lib/am/python.am (uninstall-%DIR%PYTHON): Fast uninstall. + Echo all `rm' commands that are are executed. + * lib/am/java.am (install-%DIR%JAVA, uninstall-%DIR%JAVA): + Fast install and uninstall. + AIX ranlib dislikes spaces in the argument. * lib/am/libs.am (install-%DIR%LIBRARIES): Fix instsh.test failure on AIX due to ranlib and whitespace in the directory. diff --git a/doc/Makefile.in b/doc/Makefile.in index a57c94292..9fafd09ea 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -74,14 +74,17 @@ am__vpath_adj = case $$p in \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 -am__nobase_list = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \ +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir " " files[dir] }' + END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' @@ -411,11 +414,11 @@ install-dist_docDATA: $(dist_doc_DATA) uninstall-dist_docDATA: @$(NORMAL_UNINSTALL) - @list='$(dist_doc_DATA)'; for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(docdir)/$$f'"; \ - rm -f "$(DESTDIR)$(docdir)/$$f"; \ - done + @list='$(dist_doc_DATA)'; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(docdir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(docdir)" && rm -f $$files ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ diff --git a/lib/Automake/Makefile.in b/lib/Automake/Makefile.in index 3b27b1e66..09a0e26e6 100644 --- a/lib/Automake/Makefile.in +++ b/lib/Automake/Makefile.in @@ -65,14 +65,17 @@ am__vpath_adj = case $$p in \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 -am__nobase_list = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \ +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir " " files[dir] }' + END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' @@ -280,11 +283,11 @@ install-dist_perllibDATA: $(dist_perllib_DATA) uninstall-dist_perllibDATA: @$(NORMAL_UNINSTALL) - @list='$(dist_perllib_DATA)'; for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(perllibdir)/$$f'"; \ - rm -f "$(DESTDIR)$(perllibdir)/$$f"; \ - done + @list='$(dist_perllib_DATA)'; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(perllibdir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(perllibdir)" && rm -f $$files install-nodist_perllibDATA: $(nodist_perllib_DATA) @$(NORMAL_INSTALL) test -z "$(perllibdir)" || $(MKDIR_P) "$(DESTDIR)$(perllibdir)" @@ -299,11 +302,11 @@ install-nodist_perllibDATA: $(nodist_perllib_DATA) uninstall-nodist_perllibDATA: @$(NORMAL_UNINSTALL) - @list='$(nodist_perllib_DATA)'; for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(perllibdir)/$$f'"; \ - rm -f "$(DESTDIR)$(perllibdir)/$$f"; \ - done + @list='$(nodist_perllib_DATA)'; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(perllibdir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(perllibdir)" && rm -f $$files # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. diff --git a/lib/Makefile.in b/lib/Makefile.in index 54daf7535..e707e490c 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -68,14 +68,17 @@ am__vpath_adj = case $$p in \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 -am__nobase_list = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \ +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir " " files[dir] }' + END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' @@ -256,11 +259,11 @@ install-dist_pkgvdataDATA: $(dist_pkgvdata_DATA) uninstall-dist_pkgvdataDATA: @$(NORMAL_UNINSTALL) - @list='$(dist_pkgvdata_DATA)'; for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(pkgvdatadir)/$$f'"; \ - rm -f "$(DESTDIR)$(pkgvdatadir)/$$f"; \ - done + @list='$(dist_pkgvdata_DATA)'; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(pkgvdatadir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(pkgvdatadir)" && rm -f $$files install-dist_scriptDATA: $(dist_script_DATA) @$(NORMAL_INSTALL) test -z "$(scriptdir)" || $(MKDIR_P) "$(DESTDIR)$(scriptdir)" @@ -275,11 +278,11 @@ install-dist_scriptDATA: $(dist_script_DATA) uninstall-dist_scriptDATA: @$(NORMAL_UNINSTALL) - @list='$(dist_script_DATA)'; for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(scriptdir)/$$f'"; \ - rm -f "$(DESTDIR)$(scriptdir)/$$f"; \ - done + @list='$(dist_script_DATA)'; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(scriptdir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(scriptdir)" && rm -f $$files # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. diff --git a/lib/am/Makefile.in b/lib/am/Makefile.in index c48675ca0..dc888fd22 100644 --- a/lib/am/Makefile.in +++ b/lib/am/Makefile.in @@ -58,14 +58,17 @@ am__vpath_adj = case $$p in \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 -am__nobase_list = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \ +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir " " files[dir] }' + END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' @@ -247,11 +250,11 @@ install-dist_amDATA: $(dist_am_DATA) uninstall-dist_amDATA: @$(NORMAL_UNINSTALL) - @list='$(dist_am_DATA)'; for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(amdir)/$$f'"; \ - rm -f "$(DESTDIR)$(amdir)/$$f"; \ - done + @list='$(dist_am_DATA)'; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(amdir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(amdir)" && rm -f $$files tags: TAGS TAGS: diff --git a/lib/am/data.am b/lib/am/data.am index a7039c0c2..63db01d65 100644 --- a/lib/am/data.am +++ b/lib/am/data.am @@ -70,12 +70,12 @@ if %?INSTALL% .PHONY uninstall-am: uninstall-%DIR%%PRIMARY% uninstall-%DIR%%PRIMARY%: @$(NORMAL_UNINSTALL) -?!BASE? @$(am__vpath_adj_setup) \ - %BASE?@%list='$(%DIR%_%PRIMARY%)'; for p in $$list; do \ - %BASE?$(am__strip_dir):$(am__vpath_adj)% \ - echo " rm -f '$(DESTDIR)$(%NDIR%dir)/$$f'"; \ - rm -f "$(DESTDIR)$(%NDIR%dir)/$$f"; \ - done + @list='$(%DIR%_%PRIMARY%)'; \ +?BASE? files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ +?!BASE? $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(%NDIR%dir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(%NDIR%dir)" && rm -f $$files endif %?INSTALL% diff --git a/lib/am/inst-vars.am b/lib/am/inst-vars.am index eb0bba12e..4fa0d2281 100644 --- a/lib/am/inst-vars.am +++ b/lib/am/inst-vars.am @@ -27,6 +27,13 @@ am__vpath_adj = case $$p in \ am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; ## Number of files to install concurrently. am__install_max = 40 +## Take a $list of nobase files, strip $(srcdir) from them. +## Split apart in setup variable and an action that can be used +## in backticks or in a pipe. +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" ## Take a $list of nobase files, collect them, indexed by their ## srcdir-stripped dirnames. For up to am__install_max files, output ## a line containing the dirname and the files, space-separated. @@ -34,14 +41,13 @@ am__install_max = 40 ## string concatenation in most shells, and should avoid line length ## limitations, while still offering only negligible performance impact ## through spawning more install commands than absolutely needed. -am__nobase_list = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \ +am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir " " files[dir] }' + END { for (dir in files) print dir, files[dir] }' ## Collect up to 40 files per line from stdin. am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ diff --git a/lib/am/java.am b/lib/am/java.am index 98a1fcf36..f183bee20 100644 --- a/lib/am/java.am +++ b/lib/am/java.am @@ -50,10 +50,10 @@ install-%DIR%JAVA: class%DIR%.stamp ## A single .java file can be compiled into multiple .class files. So ## we just install all the .class files that got built into this ## directory. This is not optimal, but will have to do for now. - @test -z "$(%DIR%_JAVA)" || for p in *.class; do \ - echo " $(INSTALL_DATA) '$$p' '$(DESTDIR)$(%NDIR%dir)/$$p'"; \ - $(INSTALL_DATA) "$$p" "$(DESTDIR)$(%NDIR%dir)/$$p" || exit $$?; \ - done + @test -n "$(%DIR%_JAVA)" || exit 0; \ + set x *.class; shift; test "$$1" != "*.class" || exit 0; \ + echo " $(INSTALL_DATA)" "$$@" "'$(DESTDIR)$(%NDIR%dir)/$$p'"; \ + $(INSTALL_DATA) "$$@" "$(DESTDIR)$(%NDIR%dir)" endif %?INSTALL% @@ -65,10 +65,10 @@ if %?INSTALL% .PHONY uninstall-am: uninstall-%DIR%JAVA uninstall-%DIR%JAVA: @$(NORMAL_UNINSTALL) - @test -z "$(%DIR%_JAVA)" || for p in *.class; do \ - echo " rm -f '$(DESTDIR)$(%NDIR%dir)/$$p'"; \ - rm -f "$(DESTDIR)$(%NDIR%dir)/$$p"; \ - done + @test -n "$(%DIR%_JAVA)" || exit 0; \ + set x *.class; shift; test "$$1" != "*.class" || exit 0; \ + echo " ( cd '$(DESTDIR)$(%NDIR%dir)' && rm -f" "$$@" ")"; \ + cd "$(DESTDIR)$(%NDIR%dir)" && rm -f "$$@" endif %?INSTALL% diff --git a/lib/am/libs.am b/lib/am/libs.am index 450a10582..006400940 100644 --- a/lib/am/libs.am +++ b/lib/am/libs.am @@ -83,11 +83,12 @@ if %?INSTALL% .PHONY uninstall-am: uninstall-%DIR%LIBRARIES uninstall-%DIR%LIBRARIES: @$(NORMAL_UNINSTALL) - @list='$(%DIR%_LIBRARIES)'; for p in $$list; do \ - %BASE?$(am__strip_dir):f=$$p;% \ - echo " rm -f '$(DESTDIR)$(%NDIR%dir)/$$f'"; \ - rm -f "$(DESTDIR)$(%NDIR%dir)/$$f"; \ - done + @list='$(%DIR%_LIBRARIES)'; \ +?BASE? files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ +?!BASE? $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(%NDIR%dir)' && rm -f "$$files" )"; \ + cd "$(DESTDIR)$(%NDIR%dir)" && rm -f $$files endif %?INSTALL% diff --git a/lib/am/lisp.am b/lib/am/lisp.am index a7759d782..bda2bccf9 100644 --- a/lib/am/lisp.am +++ b/lib/am/lisp.am @@ -115,14 +115,16 @@ if %?INSTALL% uninstall-%DIR%LISP: @$(NORMAL_UNINSTALL) ## Do not uninstall anything if EMACS was not found. - @if test "$(EMACS)" != no; then \ -?!BASE? $(am__vpath_adj_setup) \ - list='$(%DIR%_LISP)'; for p in $$list; do \ - %BASE?$(am__strip_dir):$(am__vpath_adj)% \ - echo " rm -f '$(DESTDIR)$(%NDIR%dir)/$$f' '$(DESTDIR)$(%NDIR%dir)/$${f}c'"; \ - rm -f "$(DESTDIR)$(%NDIR%dir)/$$f" "$(DESTDIR)$(%NDIR%dir)/$${f}c"; \ - done; \ - else : ; fi + @test "$(EMACS)" != no || exit 0; \ + list='$(%DIR%_LISP)'; \ +?BASE? files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ +?!BASE? $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ + test -n "$$files" || exit 0; \ + filesc=`echo "$$files" | sed 's|$$|c|'`; \ + echo " ( cd '$(DESTDIR)$(%NDIR%dir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(%NDIR%dir)" && rm -f $$files || exit $$?; \ + echo " ( cd '$(DESTDIR)$(%NDIR%dir)' && rm -f" $$filesc ")"; \ + cd "$(DESTDIR)$(%NDIR%dir)" && rm -f $$filesc endif %?INSTALL% diff --git a/lib/am/progs.am b/lib/am/progs.am index 83a8f1b3c..cc4cf4a9e 100644 --- a/lib/am/progs.am +++ b/lib/am/progs.am @@ -63,14 +63,17 @@ if %?INSTALL% .PHONY uninstall-am: uninstall-%DIR%PROGRAMS uninstall-%DIR%PROGRAMS: @$(NORMAL_UNINSTALL) - @list='$(%DIR%_PROGRAMS)'; for p in $$list; do \ -## Remove any leading directory before applying $(transform). - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ -## Prepend the directory part if nobase_ is used. -?!BASE? f=`echo "$$p" | sed 's|[^/]*$$||'`"$$f"; \ - echo " rm -f '$(DESTDIR)$(%NDIR%dir)/$$f'"; \ - rm -f "$(DESTDIR)$(%NDIR%dir)/$$f"; \ - done + @list='$(%DIR%_PROGRAMS)'; \ + files=`for p in $$list; do echo "$$p"; done | \ +## Remove any leading directory before applying $(transform), +## but keep the directory part in the hold buffer, in order to +## reapply it again afterwards in the nobase case. Append $(EXEEXT). + sed 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/; \ +?!BASE? x;s,[^/]*$$,,;G;s,\n,,; \ + '`; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(%NDIR%dir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(%NDIR%dir)" && rm -f $$files endif %?INSTALL% diff --git a/lib/am/python.am b/lib/am/python.am index 7a1cdb291..5d234867d 100644 --- a/lib/am/python.am +++ b/lib/am/python.am @@ -95,15 +95,20 @@ if %?INSTALL% .PHONY uninstall-am: uninstall-%DIR%PYTHON uninstall-%DIR%PYTHON: @$(NORMAL_UNINSTALL) -?!BASE? @$(am__vpath_adj_setup) \ - %BASE?@%list='$(%DIR%_PYTHON)'; dlist=''; for p in $$list; do\ - %BASE?$(am__strip_dir):$(am__vpath_adj)% \ - rm -f "$(DESTDIR)$(%NDIR%dir)/$$f"; \ + @list='$(%DIR%_PYTHON)'; \ +?BASE? files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ +?!BASE? $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ + test -n "$$files" || exit 0; \ + filesc=`echo "$$files" | sed 's|$$|c|'`; \ + fileso=`echo "$$files" | sed 's|$$|o|'`; \ + echo " ( cd '$(DESTDIR)$(%NDIR%dir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(%NDIR%dir)" && rm -f $$files || exit $$?; \ ## This is to remove the .pyc and .pyo byte compiled versions (a bit ## of a hack). - rm -f "$(DESTDIR)$(%NDIR%dir)/$${f}c"; \ - rm -f "$(DESTDIR)$(%NDIR%dir)/$${f}o"; \ - done + echo " ( cd '$(DESTDIR)$(%NDIR%dir)' && rm -f" $$filesc ")"; \ + cd "$(DESTDIR)$(%NDIR%dir)" && rm -f $$filesc || exit $$?; \ + echo " ( cd '$(DESTDIR)$(%NDIR%dir)' && rm -f" $$fileso ")"; \ + cd "$(DESTDIR)$(%NDIR%dir)" && rm -f $$fileso endif %?INSTALL% diff --git a/m4/Makefile.in b/m4/Makefile.in index 1b8b56caa..e8a9da75d 100644 --- a/m4/Makefile.in +++ b/m4/Makefile.in @@ -58,14 +58,17 @@ am__vpath_adj = case $$p in \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 -am__nobase_list = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \ +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir " " files[dir] }' + END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' @@ -244,11 +247,11 @@ install-dist_m4dataDATA: $(dist_m4data_DATA) uninstall-dist_m4dataDATA: @$(NORMAL_UNINSTALL) - @list='$(dist_m4data_DATA)'; for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(m4datadir)/$$f'"; \ - rm -f "$(DESTDIR)$(m4datadir)/$$f"; \ - done + @list='$(dist_m4data_DATA)'; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(m4datadir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(m4datadir)" && rm -f $$files tags: TAGS TAGS: -- 2.47.2