From c1f7cccfdc8d07873804c8128d58721f002bacb0 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Thu, 09 May 2013 11:29:28 -0400 Subject: Makefile.in: Replace old sed cmds with basename. The result is the same, and basename is a bit faster than sed is. A quick and dirty benchmark: printf 'printf and sed:\n' i=0 while [ ${i} -lt 3 ]; do time -p sh >/dev/null <<-EOF i=0 while [ \${i} -lt 1000 ]; do printf '%s' 'foo/bar' | sed 's|^.*/||' i=\$((\$i + 1)) done EOF i=$(($i + 1)) done printf '\nbasename:\n' i=0 while [ ${i} -lt 3 ]; do time -p sh >/dev/null <<-EOF i=0 while [ \${i} -lt 1000 ]; do basename 'foo/bar' i=\$((\$i + 1)) done EOF i=$(($i + 1)) done And the unsurprising results: printf and sed: real 1.17 user 0.02 sys 0.17 real 1.18 user 0.01 sys 0.18 real 1.17 user 0.02 sys 0.16 basename: real 0.74 user 0.02 sys 0.08 real 0.74 user 0.02 sys 0.08 real 0.72 user 0.04 sys 0.06 basename is about 37% – 38% faster. --- diff --git a/Makefile.in b/Makefile.in index 4ef1a45..b13f688 100644 --- a/Makefile.in +++ b/Makefile.in @@ -158,7 +158,7 @@ install-bin: @mkdir -p '$(DESTDIR)/$(bindir)' @for f in $(bin); do \ printf ' INSTALL %s\n' "$${f}"; \ - ff="$$(printf '%s' "$${f}" | sed 's|^.*/||')"; \ + ff="$$(basename "$${f}")"; \ cp "$${f}" "$(DESTDIR)/$(bindir)/$${ff}"; \ chmod 755 "$(DESTDIR)/$(bindir)/$${ff}"; \ done @@ -166,7 +166,7 @@ install-pkglib: @mkdir -p '$(DESTDIR)/$(pkglibdir)' @for f in $(pkglib); do \ printf ' INSTALL %s\n' "$${f}"; \ - ff="$$(printf '%s' "$${f}" | sed 's|^.*/||')"; \ + ff="$$(basename "$${f}")"; \ cp "$${f}" "$(DESTDIR)/$(pkglibdir)/$${ff}"; \ chmod 644 "$(DESTDIR)/$(pkglibdir)/$${ff}"; \ done @@ -174,7 +174,7 @@ install-pkglibbuildsystem: @mkdir -p '$(DESTDIR)/$(pkglibbuildsystemdir)' @for f in $(pkglibbuildsystem); do \ printf ' INSTALL %s\n' "$${f}"; \ - ff="$$(printf '%s' "$${f}" | sed 's|^.*/||')"; \ + ff="$$(basename "$${f}")"; \ cp "$${f}" "$(DESTDIR)/$(pkglibbuildsystemdir)/$${ff}"; \ chmod 644 "$(DESTDIR)/$(pkglibbuildsystemdir)/$${ff}"; \ done @@ -183,7 +183,7 @@ install-man1: @mkdir -p '$(DESTDIR)/$(man1dir)' @for f in $(man1); do \ printf ' INSTALL %s\n' "$${f}"; \ - ff="$$(printf '%s' "$${f}" | sed 's|^.*/||')"; \ + ff="$$(basename "$${f}")"; \ cp "$${f}" "$(DESTDIR)/$(man1dir)/$${ff}"; \ chmod 644 "$(DESTDIR)/$(man1dir)/$${ff}"; \ done @@ -203,26 +203,26 @@ uninstall-exec: uninstall-bin uninstall-pkglib uninstall-pkglibbuildsystem uninstall-bin: @for f in $(bin); do \ printf ' RM %s\n' "$${f}"; \ - ff="$$(printf '%s' "$${f}" | sed 's|^.*/||')"; \ + ff="$$(basename "$${f}")"; \ rm -f "$(DESTDIR)/$(bindir)/$${ff}"; \ done uninstall-pkglib: @for f in $(pkglib); do \ printf ' RM %s\n' "$${f}"; \ - ff="$$(printf '%s' "$${f}" | sed 's|^.*/||')"; \ + ff="$$(basename "$${f}")"; \ rm -f "$(DESTDIR)/$(pkglibdir)/$${ff}"; \ done uninstall-pkglibbuildsystem: @for f in $(pkglibbuildsystem); do \ printf ' RM %s\n' "$${f}"; \ - ff="$$(printf '%s' "$${f}" | sed 's|^.*/||')"; \ + ff="$$(basename "$${f}")"; \ rm -f "$(DESTDIR)/$(pkglibbuildsystemdir)/$${ff}"; \ done uninstall-data: uninstall-man1 uninstall-locale uninstall-man1: @for f in $(man1); do \ printf ' RM %s\n' "$${f}"; \ - ff="$$(printf '%s' "$${f}" | sed 's|^.*/||')"; \ + ff="$$(basename "$${f}")"; \ rm -f "$(DESTDIR)/$(man1dir)/$${ff}"; \ done uninstall-locale: -- cgit v0.9.1