From 91d9d817eae55f025aa5143f70e382a2f0f17670 Mon Sep 17 00:00:00 2001 From: Ralf Wildenhues Date: Sat, 20 Sep 2008 15:38:26 +0200 Subject: [PATCH] Compactify program rules using ternary operators. * lib/am/progs.am (install-%DIR%PROGRAMS): Uglify^WCompactify using ternary operators `%KEY?TRUE:FALSE%'. (uninstall-%DIR%PROGRAMS): Likewise. Signed-off-by: Ralf Wildenhues --- ChangeLog | 5 +++++ lib/am/progs.am | 15 +++++---------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 80f935a31..e9053e9ad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2008-09-20 Ralf Wildenhues + Compactify program rules using ternary operators. + * lib/am/progs.am (install-%DIR%PROGRAMS): Uglify^WCompactify + using ternary operators `%KEY?TRUE:FALSE%'. + (uninstall-%DIR%PROGRAMS): Likewise. + New doc section about command line length limits. * doc/automake.texi (Length limitations): New node. (Alternative): `nobase_' is not always equivalent to several diff --git a/lib/am/progs.am b/lib/am/progs.am index ea14053ce..4ed702b53 100644 --- a/lib/am/progs.am +++ b/lib/am/progs.am @@ -33,17 +33,13 @@ install-%DIR%PROGRAMS: $(%DIR%_PROGRAMS) ## On Cygwin with libtool test won't see `foo.exe' but instead `foo'. ## So we check for both. sed 's/$(EXEEXT)$$//' | \ - while read p p1; do \ - if test -f $$p \ -?LIBTOOL? || test -f $$p1 \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ + while read p p1; do if test -f $$p%LIBTOOL? || test -f $$p1%; \ + then echo "$$p"; echo "$$p"; else :; fi; \ done | \ ## We now have a list of sourcefile pairs, separated by newline. ## Turn that into "sourcefile source_base target_dir xformed_target_base", ## with newlines being turned into spaces in a second step. - sed -e 'p;s,.*/,,;n;h' \ -?BASE? -e 's|.*|.|' \ -?!BASE? -e 's|[^/]*$$||; s|^$$|.|' \ + sed -e 'p;s,.*/,,;n;h' -e '%BASE?s|.*|.|:s|[^/]*$$||; s|^$$|.|%' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ ## The following awk script turns that into one line containing directories @@ -88,9 +84,8 @@ uninstall-%DIR%PROGRAMS: ## 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,,; \ - '`; \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/'%BASE? : -e '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 -- 2.47.2