diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2013-04-27 15:25:06 +0200 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2013-04-29 16:16:39 +0200 |
commit | 6eedee4c85c9817e46ed3de9df912ebe0fc9baa4 (patch) | |
tree | 28018feaf255544717398fe0896f213392daaad6 /lib/am/header-vars.am | |
parent | cbf23cebcb8fdeb02b5a69a6741af2507d3ded57 (diff) | |
download | automake-6eedee4c85c9817e46ed3de9df912ebe0fc9baa4.tar.gz |
header-vars: new variable $(am__running_with_option)
This is a preparatory refactoring, needed by later patches.
No semantic change is intended.
* lib/am/header-vars.am (am__running_with_option): New, contains
shell code that determines whether the current make instance is
running with a given one-letter option (e.g., -k, -n) that takes
no argument. Actually, the only supported option at the moment
is '-n' (support for '-k' will be added soon).
(am__make_dryrun): Rewrite as a thin wrapper around
'$(am__make_running_with_option)'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 'lib/am/header-vars.am')
-rw-r--r-- | lib/am/header-vars.am | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/lib/am/header-vars.am b/lib/am/header-vars.am index d2f098425..8426dcb1e 100644 --- a/lib/am/header-vars.am +++ b/lib/am/header-vars.am @@ -31,21 +31,26 @@ VPATH = @srcdir@ ## enough for now. am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -## Shell code that determines whether make is running in "dry mode" -## ("make -n") or not. Useful in rules that invoke make recursively, -## and are thus executed also with "make -n" -- either because they -## are declared as dependencies to '.MAKE' (NetBSD make), or because -## their recipes contain the "$(MAKE)" string (GNU and Solaris make). -am__make_dryrun = \ +## Shell code that determines whether the current make instance is +## running with a given one-letter option (e.g., -k, -n) that takes +## no argument. Actually, the only supported option at the moment +## is '-n' (support for '-k' will be added soon). +am__make_running_with_option = \ { \ - am__dry=no; \ + case $${am__target_option-} in \ + n) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${am__target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + am__has_opt=no; \ if $(am__is_gnu_make); then \ ## GNU make: $(MAKEFLAGS) is quite tricky there, and the older ## $(MFLAGS) variable behaves much better. for am__flg in $$MFLAGS; do \ case $$am__flg in \ *=*|--*) ;; \ - -*n*) am__dry=yes; break;; \ + -*$$am__target_option*) am__has_opt=yes; break;; \ esac; \ done; \ else \ @@ -59,7 +64,7 @@ am__make_dryrun = \ ## This has already happened in practice. So we need this unpleasant hack. *\\[\ \ ]*) \ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes ;; \ + | grep '^AM OK$$' >/dev/null || am__has_opt=yes ;; \ *) \ am__skip_next=no; \ for am__flg in $$MAKEFLAGS; do \ @@ -72,14 +77,21 @@ am__make_dryrun = \ ## Quite ugly special-casing. We might need other similar, but let's ## wait until the need arises. -I) am__skip_next=yes;; \ - *n*) am__dry=yes; break;; \ + *$$am__target_option*) am__has_opt=yes; break;; \ esac; \ done ;;\ esac; \ fi; \ - test $$am__dry = yes; \ + test $$am__has_opt = yes; \ } +## Shell code that determines whether make is running in "dry mode" +## ("make -n") or not. Useful in rules that invoke make recursively, +## and are thus executed also with "make -n" -- either because they +## are declared as dependencies to '.MAKE' (NetBSD make), or because +## their recipes contain the "$(MAKE)" string (GNU and Solaris make). +am__make_dryrun = { am__target_option=n; $(am__make_running_with_option); } + ## Some derived variables that have been found to be useful. pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ |