2008-09-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+ 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
## 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
## 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