This is
/Volumes/Android/buildbot/src/android/ndk-release-r23/toolchain/make/doc/make.info,
produced by makeinfo version 4.8 from
/Volumes/Android/buildbot/src/android/ndk-release-r23/toolchain/make/doc/make.texi.

   This file documents the GNU `make' utility, which determines
automatically which pieces of a large program need to be recompiled,
and issues the commands to recompile them.

   This is Edition 0.75, last updated 21 May 2016, of `The GNU Make
Manual', for GNU `make' version 4.2.1.

   Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Free
Software Foundation, Inc.

     Permission is granted to copy, distribute and/or modify this
     document under the terms of the GNU Free Documentation License,
     Version 1.3 or any later version published by the Free Software
     Foundation; with no Invariant Sections, with the Front-Cover Texts
     being "A GNU Manual," and with the Back-Cover Texts as in (a)
     below.  A copy of the license is included in the section entitled
     "GNU Free Documentation License."

     (a) The FSF's Back-Cover Text is: "You have the freedom to copy and
     modify this GNU manual.  Buying copies from the FSF supports it in
     developing GNU and promoting software freedom."

INFO-DIR-SECTION Software development
START-INFO-DIR-ENTRY
* Make: (make).            Remake files automatically.
END-INFO-DIR-ENTRY


File: make.info,  Node: Name Index,  Prev: Concept Index,  Up: Top

Index of Functions, Variables, & Directives
*******************************************

 [index ]
* Menu:

* $%:                                    Automatic Variables. (line  37)
* $(%D):                                 Automatic Variables. (line 129)
* $(%F):                                 Automatic Variables. (line 130)
* $(*D):                                 Automatic Variables. (line 124)
* $(*F):                                 Automatic Variables. (line 125)
* $(+D):                                 Automatic Variables. (line 147)
* $(+F):                                 Automatic Variables. (line 148)
* $(<D):                                 Automatic Variables. (line 137)
* $(<F):                                 Automatic Variables. (line 138)
* $(?D):                                 Automatic Variables. (line 153)
* $(?F):                                 Automatic Variables. (line 154)
* $(@D):                                 Automatic Variables. (line 113)
* $(@F):                                 Automatic Variables. (line 119)
* $(^D):                                 Automatic Variables. (line 142)
* $(^F):                                 Automatic Variables. (line 143)
* $*:                                    Automatic Variables. (line  74)
* $*, and static pattern:                Static Usage.        (line  81)
* $+:                                    Automatic Variables. (line  64)
* $<:                                    Automatic Variables. (line  43)
* $?:                                    Automatic Variables. (line  48)
* $@:                                    Automatic Variables. (line  30)
* $^:                                    Automatic Variables. (line  54)
* $|:                                    Automatic Variables. (line  70)
* % (automatic variable):                Automatic Variables. (line  37)
* %D (automatic variable):               Automatic Variables. (line 129)
* %F (automatic variable):               Automatic Variables. (line 130)
* * (automatic variable):                Automatic Variables. (line  74)
* * (automatic variable), unsupported bizarre usage: Missing. (line  44)
* *D (automatic variable):               Automatic Variables. (line 124)
* *F (automatic variable):               Automatic Variables. (line 125)
* + (automatic variable):                Automatic Variables. (line  64)
* +D (automatic variable):               Automatic Variables. (line 147)
* +F (automatic variable):               Automatic Variables. (line 148)
* -load:                                 load Directive.      (line  65)
* .DEFAULT <1>:                          Special Targets.     (line  20)
* .DEFAULT:                              Last Resort.         (line  23)
* .DEFAULT, and empty recipes:           Empty Recipes.       (line  16)
* .DEFAULT_GOAL (define default goal):   Special Variables.   (line  34)
* .DELETE_ON_ERROR <1>:                  Special Targets.     (line  63)
* .DELETE_ON_ERROR:                      Errors.              (line  63)
* .EXPORT_ALL_VARIABLES <1>:             Special Targets.     (line 123)
* .EXPORT_ALL_VARIABLES:                 Variables/Recursion. (line  99)
* .EXTRA_PREREQS (prerequisites not added to automatic variables): Special Variables.
                                                              (line 179)
* .FEATURES (list of supported features): Special Variables.  (line 122)
* .IGNORE <1>:                           Errors.              (line  30)
* .IGNORE:                               Special Targets.     (line  69)
* .INCLUDE_DIRS (list of include directories): Special Variables.
                                                              (line 175)
* .INTERMEDIATE:                         Special Targets.     (line  43)
* .LIBPATTERNS:                          Libraries/Search.    (line   6)
* .LOADED:                               load Directive.      (line  62)
* .LOW_RESOLUTION_TIME:                  Special Targets.     (line  81)
* .NOTPARALLEL:                          Special Targets.     (line 128)
* .ONESHELL <1>:                         One Shell.           (line   6)
* .ONESHELL:                             Special Targets.     (line 135)
* .PHONY <1>:                            Phony Targets.       (line  22)
* .PHONY:                                Special Targets.     (line   8)
* .POSIX <1>:                            Options/Recursion.   (line  60)
* .POSIX:                                Special Targets.     (line 141)
* .PRECIOUS <1>:                         Interrupts.          (line  22)
* .PRECIOUS:                             Special Targets.     (line  28)
* .RECIPEPREFIX (change the recipe prefix character): Special Variables.
                                                              (line 100)
* .SECONDARY:                            Special Targets.     (line  48)
* .SECONDEXPANSION <1>:                  Secondary Expansion. (line   6)
* .SECONDEXPANSION:                      Special Targets.     (line  57)
* .SHELLFLAGS:                           Choosing the Shell.  (line  89)
* .SHELLSTATUS:                          Shell Function.      (line  25)
* .SILENT <1>:                           Special Targets.     (line 111)
* .SILENT:                               Echoing.             (line  24)
* .SUFFIXES <1>:                         Special Targets.     (line  15)
* .SUFFIXES:                             Suffix Rules.        (line  61)
* .VARIABLES (list of variables):        Special Variables.   (line 113)
* /usr/gnu/include:                      Include.             (line  53)
* /usr/include:                          Include.             (line  53)
* /usr/local/include:                    Include.             (line  53)
* < (automatic variable):                Automatic Variables. (line  43)
* <D (automatic variable):               Automatic Variables. (line 137)
* <F (automatic variable):               Automatic Variables. (line 138)
* ? (automatic variable):                Automatic Variables. (line  48)
* ?D (automatic variable):               Automatic Variables. (line 153)
* ?F (automatic variable):               Automatic Variables. (line 154)
* @ (automatic variable):                Automatic Variables. (line  30)
* @D (automatic variable):               Automatic Variables. (line 113)
* @F (automatic variable):               Automatic Variables. (line 119)
* ^ (automatic variable):                Automatic Variables. (line  54)
* ^D (automatic variable):               Automatic Variables. (line 142)
* ^F (automatic variable):               Automatic Variables. (line 143)
* abspath:                               File Name Functions. (line 121)
* addprefix:                             File Name Functions. (line  79)
* addsuffix:                             File Name Functions. (line  68)
* and:                                   Conditional Functions.
                                                              (line  45)
* AR:                                    Implicit Variables.  (line  40)
* ARFLAGS:                               Implicit Variables.  (line 113)
* AS:                                    Implicit Variables.  (line  43)
* ASFLAGS:                               Implicit Variables.  (line 116)
* basename:                              File Name Functions. (line  57)
* bindir:                                Directory Variables. (line  57)
* call:                                  Call Function.       (line   6)
* CC:                                    Implicit Variables.  (line  46)
* CFLAGS:                                Implicit Variables.  (line 120)
* CO:                                    Implicit Variables.  (line  66)
* COFLAGS:                               Implicit Variables.  (line 126)
* COMSPEC:                               Choosing the Shell.  (line  41)
* CPP:                                   Implicit Variables.  (line  52)
* CPPFLAGS:                              Implicit Variables.  (line 129)
* CTANGLE:                               Implicit Variables.  (line 103)
* CURDIR:                                Recursion.           (line  28)
* CWEAVE:                                Implicit Variables.  (line  97)
* CXX:                                   Implicit Variables.  (line  49)
* CXXFLAGS:                              Implicit Variables.  (line 123)
* define:                                Multi-Line.          (line   6)
* DESTDIR:                               DESTDIR.             (line   6)
* dir:                                   File Name Functions. (line  17)
* else:                                  Conditional Syntax.  (line   6)
* endef:                                 Multi-Line.          (line   6)
* endif:                                 Conditional Syntax.  (line   6)
* error:                                 Make Control Functions.
                                                              (line  11)
* eval:                                  Eval Function.       (line   6)
* exec_prefix:                           Directory Variables. (line  39)
* export:                                Variables/Recursion. (line  40)
* FC:                                    Implicit Variables.  (line  56)
* FFLAGS:                                Implicit Variables.  (line 133)
* file:                                  File Function.       (line   6)
* filter:                                Text Functions.      (line 114)
* filter-out:                            Text Functions.      (line 132)
* findstring:                            Text Functions.      (line 103)
* firstword:                             Text Functions.      (line 184)
* flavor:                                Flavor Function.     (line   6)
* foreach:                               Foreach Function.    (line   6)
* GET:                                   Implicit Variables.  (line  69)
* GFLAGS:                                Implicit Variables.  (line 136)
* gmk-eval:                              Guile Interface.     (line  18)
* gmk-expand:                            Guile Interface.     (line  12)
* gmk_add_function:                      Loaded Object API.   (line  54)
* gmk_alloc:                             Loaded Object API.   (line 150)
* gmk_eval:                              Loaded Object API.   (line 124)
* gmk_expand:                            Loaded Object API.   (line 118)
* gmk_free:                              Loaded Object API.   (line 155)
* gmk_func_ptr:                          Loaded Object API.   (line  96)
* GNUmakefile:                           Makefile Names.      (line   7)
* GPATH:                                 Search Algorithm.    (line  48)
* guile:                                 Guile Function.      (line   6)
* if:                                    Conditional Functions.
                                                              (line  12)
* ifdef:                                 Conditional Syntax.  (line   6)
* ifeq:                                  Conditional Syntax.  (line   6)
* ifndef:                                Conditional Syntax.  (line   6)
* ifneq:                                 Conditional Syntax.  (line   6)
* include:                               Include.             (line   6)
* info:                                  Make Control Functions.
                                                              (line  43)
* join:                                  File Name Functions. (line  90)
* lastword:                              Text Functions.      (line 197)
* LDFLAGS:                               Implicit Variables.  (line 139)
* LDLIBS:                                Implicit Variables.  (line 144)
* LEX:                                   Implicit Variables.  (line  72)
* LFLAGS:                                Implicit Variables.  (line 150)
* libexecdir:                            Directory Variables. (line  70)
* LINT:                                  Implicit Variables.  (line  80)
* LINTFLAGS:                             Implicit Variables.  (line 162)
* load:                                  load Directive.      (line   9)
* LOADLIBES:                             Implicit Variables.  (line 144)
* M2C:                                   Implicit Variables.  (line  60)
* MAKE <1>:                              MAKE Variable.       (line   6)
* MAKE:                                  Flavors.             (line  88)
* MAKE_HOST:                             Quick Reference.     (line 341)
* MAKE_RESTARTS (number of times make has restarted): Special Variables.
                                                              (line  73)
* MAKE_TERMERR (whether stderr is a terminal): Special Variables.
                                                              (line  80)
* MAKE_TERMOUT (whether stdout is a terminal): Special Variables.
                                                              (line  80)
* MAKE_VERSION:                          Quick Reference.     (line 337)
* MAKECMDGOALS:                          Goals.               (line  30)
* Makefile:                              Makefile Names.      (line   7)
* makefile:                              Makefile Names.      (line   7)
* MAKEFILE_LIST (list of parsed makefiles): Special Variables.
                                                              (line   8)
* MAKEFILES <1>:                         MAKEFILES Variable.  (line   6)
* MAKEFILES:                             Variables/Recursion. (line 127)
* MAKEFLAGS:                             Options/Recursion.   (line   6)
* MAKEINFO:                              Implicit Variables.  (line  83)
* MAKELEVEL <1>:                         Flavors.             (line  88)
* MAKELEVEL:                             Variables/Recursion. (line 115)
* MAKEOVERRIDES:                         Options/Recursion.   (line  49)
* MAKESHELL (MS-DOS alternative to SHELL): Choosing the Shell.
                                                              (line  27)
* MFLAGS:                                Options/Recursion.   (line  65)
* notdir:                                File Name Functions. (line  27)
* or:                                    Conditional Functions.
                                                              (line  37)
* origin:                                Origin Function.     (line   6)
* OUTPUT_OPTION:                         Catalogue of Rules.  (line 202)
* override:                              Override Directive.  (line   6)
* patsubst <1>:                          Text Functions.      (line  18)
* patsubst:                              Substitution Refs.   (line  28)
* PC:                                    Implicit Variables.  (line  63)
* PFLAGS:                                Implicit Variables.  (line 156)
* prefix:                                Directory Variables. (line  29)
* private:                               Suppressing Inheritance.
                                                              (line   6)
* realpath:                              File Name Functions. (line 114)
* RFLAGS:                                Implicit Variables.  (line 159)
* RM:                                    Implicit Variables.  (line 106)
* sbindir:                               Directory Variables. (line  63)
* shell:                                 Shell Function.      (line   6)
* SHELL:                                 Choosing the Shell.  (line   6)
* SHELL (recipe execution):              Execution.           (line   6)
* sort:                                  Text Functions.      (line 146)
* strip:                                 Text Functions.      (line  80)
* subst <1>:                             Multiple Targets.    (line  39)
* subst:                                 Text Functions.      (line   9)
* suffix:                                File Name Functions. (line  43)
* SUFFIXES:                              Suffix Rules.        (line  81)
* TANGLE:                                Implicit Variables.  (line 100)
* TEX:                                   Implicit Variables.  (line  87)
* TEXI2DVI:                              Implicit Variables.  (line  90)
* undefine:                              Undefine Directive.  (line   6)
* unexport:                              Variables/Recursion. (line  45)
* value:                                 Value Function.      (line   6)
* vpath:                                 Selective Search.    (line   6)
* VPATH:                                 General Search.      (line   6)
* vpath:                                 Directory Search.    (line   6)
* VPATH:                                 Directory Search.    (line   6)
* warning:                               Make Control Functions.
                                                              (line  35)
* WEAVE:                                 Implicit Variables.  (line  94)
* wildcard <1>:                          Wildcard Function.   (line   6)
* wildcard:                              File Name Functions. (line 107)
* word:                                  Text Functions.      (line 159)
* wordlist:                              Text Functions.      (line 168)
* words:                                 Text Functions.      (line 180)
* YACC:                                  Implicit Variables.  (line  76)
* YFLAGS:                                Implicit Variables.  (line 153)
* | (automatic variable):                Automatic Variables. (line  70)


