summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2012-08-08 00:21:39 +0200
committerStefano Lattarini <stefano.lattarini@gmail.com>2012-08-08 12:40:47 +0200
commit8ee99aa7adfa211b4970c3a317d3fc82f67f1aa9 (patch)
treef06d37c45799cf4ec0146ec81d9716dc4a0136e6
parentfd74123befe7ce42c44d52128bb2e725706bb967 (diff)
downloadautomake-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.mk3
-rw-r--r--lib/am/libs.am10
-rw-r--r--lib/am/lisp.am28
-rw-r--r--lib/am/ltlib.am8
-rw-r--r--lib/am/python.am26
-rw-r--r--lib/am/texinfos.am27
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 $$?; \