diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-08-08 00:21:39 +0200 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-08-08 12:40:47 +0200 |
commit | 8ee99aa7adfa211b4970c3a317d3fc82f67f1aa9 (patch) | |
tree | f06d37c45799cf4ec0146ec81d9716dc4a0136e6 | |
parent | fd74123befe7ce42c44d52128bb2e725706bb967 (diff) | |
download | automake-8ee99aa7adfa211b4970c3a317d3fc82f67f1aa9.tar.gz |
[ng] refactor: remove all uses of '$(am__strip_dir)'
Prefer using GNU make built-in '$(notdir)' instead. This change doesn't
offer any serious simplification, but is just a step in the general
direction of moving more non-trivial processing to GNU make.
* lib/am/lib.am: Rewritten some install/uninstall rules to avoid
using '$(am__strip_dir)'.
* lib/am/lisp.am: Likewise.
* lib/am/ltlib.am: Likewise.
* lib/am/python.am: Likewise.
* lib/am/texinfos.am: Likewise.
* lib/am/header-vars.mk (am__strip_dir): Remove.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
-rw-r--r-- | lib/am/header-vars.mk | 3 | ||||
-rw-r--r-- | lib/am/libs.am | 10 | ||||
-rw-r--r-- | lib/am/lisp.am | 28 | ||||
-rw-r--r-- | lib/am/ltlib.am | 8 | ||||
-rw-r--r-- | lib/am/python.am | 26 | ||||
-rw-r--r-- | lib/am/texinfos.am | 27 |
6 files changed, 36 insertions, 66 deletions
diff --git a/lib/am/header-vars.mk b/lib/am/header-vars.mk index b4306cd5f..b21b927e7 100644 --- a/lib/am/header-vars.mk +++ b/lib/am/header-vars.mk @@ -356,9 +356,6 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -# Strip all directories. -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. diff --git a/lib/am/libs.am b/lib/am/libs.am index ece521224..164af5852 100644 --- a/lib/am/libs.am +++ b/lib/am/libs.am @@ -63,11 +63,11 @@ endif !%?BASE% ## useless; sh never actually executes this command. Read the GNU ## Standards for a little enlightenment on this. @$(POST_INSTALL) - @list='$(%DIR%_LIBRARIES)'; test -n "$(%NDIR%dir)" || list=; \ - for p in $$list; do \ - if test -f $$p; then \ -?BASE? $(am__strip_dir) \ -?!BASE? f=$$p; \ +?BASE? @list='$(notdir $(%DIR%_LIBRARIES))'; \ +?!BASE? @list='$(%DIR%_LIBRARIES)'; \ + test -n "$(%NDIR%dir)" || list=; \ + for f in $$list; do \ + if test -f $$f; then \ ## Must ranlib after installing because mod time changes. ## cd to target directory because AIX ranlib messes up with whitespace ## in the argument. diff --git a/lib/am/lisp.am b/lib/am/lisp.am index c6fb92333..7135e3aeb 100644 --- a/lib/am/lisp.am +++ b/lib/am/lisp.am @@ -61,25 +61,21 @@ install-%DIR%LISP: $(%DIR%_LISP) $(ELCFILES) @if test "$(EMACS)" != no && test -n "$(%NDIR%dir)"; then \ ## Funny invocation because Makefile variable can be empty, leading to ## a syntax error in sh. - list='$(%DIR%_LISP)'; \ - if test -n "$$list"; then \ + $(if $(%DIR%_LISP), \ echo " $(MKDIR_P) '$(DESTDIR)$(%NDIR%dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)" || exit 1; \ - fi; \ - for p in $$list; do \ -## A lisp file can be in the source directory or the build directory. - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -?BASE? $(am__strip_dir) \ -?!BASE? f=$$p; \ - echo " $(%DIR%LISP_INSTALL) '$$d$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; \ - $(%DIR%LISP_INSTALL) "$$d$$p" "$(DESTDIR)$(%NDIR%dir)/$$f" || exit $$?; \ + $(foreach i, $(%DIR%_LISP), \ + p=$(call am.vpath.rewrite,$i); \ +?BASE? f=$(notdir $i); \ +?!BASE? f=$i; \ + echo " $(%DIR%LISP_INSTALL) '$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; \ + $(%DIR%LISP_INSTALL) "$$p" "$(DESTDIR)$(%NDIR%dir)/$$f" || exit $$?; \ ## Only install .elc file if it exists. - if test -f $${p}c; then \ - echo " $(%DIR%LISP_INSTALL) '$${p}c' '$(DESTDIR)$(%NDIR%dir)/$${f}c'"; \ - $(%DIR%LISP_INSTALL) "$${p}c" "$(DESTDIR)$(%NDIR%dir)/$${f}c" || exit $$?; \ - else : ; fi; \ - done; \ - else : ; fi + if test -f $${p}c; then \ + echo " $(%DIR%LISP_INSTALL) '$${p}c' '$(DESTDIR)$(%NDIR%dir)/$${f}c'"; \ + $(%DIR%LISP_INSTALL) "$${p}c" "$(DESTDIR)$(%NDIR%dir)/$${f}c" || exit $$?; \ + else : ; fi;)) \ + :; else :; fi; endif %?INSTALL% diff --git a/lib/am/ltlib.am b/lib/am/ltlib.am index d80b66f78..543f7dc72 100644 --- a/lib/am/ltlib.am +++ b/lib/am/ltlib.am @@ -87,10 +87,10 @@ if %?INSTALL% .PHONY uninstall-am: uninstall-%DIR%LTLIBRARIES uninstall-%DIR%LTLIBRARIES: @$(NORMAL_UNINSTALL) - @list='$(%DIR%_LTLIBRARIES)'; test -n "$(%NDIR%dir)" || list=; \ - for p in $$list; do \ -?BASE? $(am__strip_dir) \ -?!BASE? f=$$p; \ +?BASE? @list='$(notdir $(%DIR%_LTLIBRARIES))'; \ +?!BASE? @list='$(%DIR%_LTLIBRARIES)'; \ + test -n "$(%NDIR%dir)" || list=; \ + for f in $$list; do \ ?LIBTOOL? echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(%NDIR%dir)/$$f'"; \ ?LIBTOOL? $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(%NDIR%dir)/$$f"; \ ?!LIBTOOL? echo " rm -f '$(DESTDIR)$(%NDIR%dir)/$$f'"; \ diff --git a/lib/am/python.am b/lib/am/python.am index 2ac22ccc2..c99d42c37 100644 --- a/lib/am/python.am +++ b/lib/am/python.am @@ -26,24 +26,12 @@ am__installdirs += "$(DESTDIR)$(%NDIR%dir)" ?!EXEC?.PHONY install-data-am: install-%DIR%PYTHON install-%DIR%PYTHON: $(%DIR%_PYTHON) @$(NORMAL_INSTALL) + @$(if $(and $(%NDIR%dir),$(%DIR%_PYTHON)),$(strip \ + )$(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)") if %?BASE% - @list='$(%DIR%_PYTHON)'; dlist=; list2=; test -n "$(%NDIR%dir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(%NDIR%dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)" || exit 1; \ - fi; \ - for p in $$list; do \ -## A file can be in the source directory or the build directory. - if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \ - if test -f $$b$$p; then \ -## Compute basename of source file. Unless this is a nobase_ target, we -## want to install 'python/foo.py' as '$(DESTDIR)$(%NDIR%dir)/foo.py', -## not '$(DESTDIR)$(%NDIR%dir)/python/foo.py'. - $(am__strip_dir) \ - dlist="$$dlist $$f"; \ - list2="$$list2 $$b$$p"; \ - else :; fi; \ - done; \ + @test -n "$(%NDIR%dir)" && test -n "$(%DIR%_PYTHON)" || exit 0; \ + dlist='$(notdir $(%DIR%_PYTHON))'; \ + list2='$(foreach i,$(%DIR%_PYTHON),$(call am.vpath.rewrite,$i))'; \ for file in $$list2; do echo $$file; done | $(am__base_list) | \ while read files; do \ ## Don't perform translation, since script name is important. @@ -58,10 +46,6 @@ if %?BASE% else :; fi else !%?BASE% @list='$(%DIR%_PYTHON)'; test -n "$(%NDIR%dir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(%NDIR%dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)" || exit 1; \ - fi; \ $(am__nobase_list) | while read dir files; do \ xfiles=; for p in $$files; do \ ## A file can be in the source directory or the build directory. diff --git a/lib/am/texinfos.am b/lib/am/texinfos.am index 71c497ad8..116053ccf 100644 --- a/lib/am/texinfos.am +++ b/lib/am/texinfos.am @@ -135,26 +135,19 @@ install-html-am: am--install-html am--install-html: $(HTMLS) @$(NORMAL_INSTALL) $(call am__create_installdir,$(htmldir)) - @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \ - for p in $$list; do \ - if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \ - $(am__strip_dir) \ -## This indirection is required to work around a bug of the Solaris 10 -## shell /usr/xpg4/bin/sh. The description of the bug can be found at -## <http://lists.gnu.org/archive/html/bug-autoconf/2011-11/msg00005.html> -## and the report of the original failure can be found at automake -## bug#10026 <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10026#23> - d2=$$d$$p; \ - if test -d "$$d2"; then \ + @list=''; \ + $(if $(and $(HTMLS),$(htmldir)),$(foreach i,$(HTMLS), \ + p=$(call am.vpath.rewrite,$i); \ + f=$(notdir $i); \ + if test -d "$$p"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \ $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \ - echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \ - $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \ + echo " $(INSTALL_DATA) '$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \ + $(INSTALL_DATA) "$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \ else \ - list2="$$list2 $$d2"; \ - fi; \ - done; \ - test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \ + list="$$list $$p"; \ + fi;)) \ + test -z "$$list" || { echo "$$list" | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \ |