header-vars: new variable $(am__running_with_option)
[platform/upstream/automake.git] / lib / am / header-vars.am
1 ## automake - create Makefile.in from Makefile.am
2 ## Copyright (C) 1994-2013 Free Software Foundation, Inc.
3
4 ## This program is free software; you can redistribute it and/or modify
5 ## it under the terms of the GNU General Public License as published by
6 ## the Free Software Foundation; either version 2, or (at your option)
7 ## any later version.
8
9 ## This program is distributed in the hope that it will be useful,
10 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
11 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 ## GNU General Public License for more details.
13
14 ## You should have received a copy of the GNU General Public License
15 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17 VPATH = @srcdir@
18
19 @SET_MAKE@
20
21 ## We used to define this.  However, we don't because vendor makes
22 ## (e.g., Solaris, Irix) won't correctly propagate variables that are
23 ## defined in Makefile.  This particular variable can't be correctly
24 ## defined by configure (at least, not the current configure), so we
25 ## simply avoid defining it to allow the user to use this feature with
26 ## a vendor make.
27 ## DESTDIR =
28
29 ## Shell code that determines whether we are running under GNU make.
30 ## This is somewhat of an hack, and might be improved, but is good
31 ## enough for now.
32 am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
33
34 ## Shell code that determines whether the current make instance is
35 ## running with a given one-letter option (e.g., -k, -n) that takes
36 ## no argument.  Actually, the only supported option at the moment
37 ## is '-n' (support for '-k' will be added soon).
38 am__make_running_with_option = \
39   { \
40     case $${am__target_option-} in \
41         n) ;; \
42         *) echo "am__make_running_with_option: internal error: invalid" \
43                 "target option '$${am__target_option-}' specified" >&2; \
44            exit 1;; \
45     esac; \
46     am__has_opt=no; \
47     if $(am__is_gnu_make); then \
48 ## GNU make: $(MAKEFLAGS) is quite tricky there, and the older
49 ## $(MFLAGS) variable behaves much better.
50       for am__flg in $$MFLAGS; do \
51         case $$am__flg in \
52           *=*|--*) ;; \
53           -*$$am__target_option*) am__has_opt=yes; break;; \
54         esac; \
55       done; \
56     else \
57 ## Non-GNU make: we must rely on $(MAKEFLAGS).  This is tricky and brittle,
58 ## but is the best we can do.
59       case $$MAKEFLAGS in \
60 ## If we run "make TESTS='snooze nap'", FreeBSD make will export MAKEFLAGS
61 ## to " TESTS=foo\ nap", so that the simpler loop below (on word-splitted
62 ## $$MAKEFLAGS) would see a "make flag" equal to "nap", and would wrongly
63 ## misinterpret that as and indication that make is running in dry mode.
64 ## This has already happened in practice.  So we need this unpleasant hack.
65          *\\[\ \        ]*) \
66            echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
67              | grep '^AM OK$$' >/dev/null || am__has_opt=yes ;; \
68          *) \
69            am__skip_next=no; \
70            for am__flg in $$MAKEFLAGS; do \
71              if test $$am__skip_next = yes; then \
72                am__skip_next=no; \
73                continue; \
74              fi; \
75              case $$am__flg in \
76                *=*|--*) ;; \
77 ## Quite ugly special-casing.  We might need other similar, but let's
78 ## wait until the need arises.
79                -I) am__skip_next=yes;; \
80                *$$am__target_option*) am__has_opt=yes; break;; \
81              esac; \
82            done ;;\
83        esac; \
84     fi; \
85     test $$am__has_opt = yes; \
86   }
87
88 ## Shell code that determines whether make is running in "dry mode"
89 ## ("make -n") or not.  Useful in rules that invoke make recursively,
90 ## and are thus executed also with "make -n" -- either because they
91 ## are declared as dependencies to '.MAKE' (NetBSD make), or because
92 ## their recipes contain the "$(MAKE)" string (GNU and Solaris make).
93 am__make_dryrun = { am__target_option=n; $(am__make_running_with_option); }
94
95 ## Some derived variables that have been found to be useful.
96 pkgdatadir = $(datadir)/@PACKAGE@
97 pkgincludedir = $(includedir)/@PACKAGE@
98 pkglibdir = $(libdir)/@PACKAGE@
99 pkglibexecdir = $(libexecdir)/@PACKAGE@
100
101 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
102 install_sh_DATA = $(install_sh) -c -m 644
103 install_sh_PROGRAM = $(install_sh) -c
104 install_sh_SCRIPT = $(install_sh) -c
105 INSTALL_HEADER = $(INSTALL_DATA)
106 transform = $(program_transform_name)
107
108 ## These are defined because otherwise make on NetBSD V1.1 will print
109 ## (eg): $(NORMAL_INSTALL) expands to empty string.
110 NORMAL_INSTALL = :
111 PRE_INSTALL = :
112 POST_INSTALL = :
113 NORMAL_UNINSTALL = :
114 PRE_UNINSTALL = :
115 POST_UNINSTALL = :
116
117 ## dejagnu.am uses these variables.  Some users might rely on them too.
118 ?BUILD?build_triplet = @build@
119 ?HOST?host_triplet = @host@
120 ?TARGET?target_triplet = @target@