1 This is make.info, produced by makeinfo version 6.7 from make.texi.
3 This file documents the GNU 'make' utility, which determines
4 automatically which pieces of a large program need to be recompiled, and
5 issues the commands to recompile them.
7 This is Edition 0.76, last updated 31 October 2022, of 'The GNU Make
8 Manual', for GNU 'make' version 4.4.
10 Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
11 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
12 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021,
13 2022 Free Software Foundation, Inc.
15 Permission is granted to copy, distribute and/or modify this
16 document under the terms of the GNU Free Documentation License,
17 Version 1.3 or any later version published by the Free Software
18 Foundation; with no Invariant Sections, with the Front-Cover Texts
19 being "A GNU Manual," and with the Back-Cover Texts as in (a)
20 below. A copy of the license is included in the section entitled
21 "GNU Free Documentation License."
23 (a) The FSF's Back-Cover Text is: "You have the freedom to copy and
24 modify this GNU manual. Buying copies from the FSF supports it in
25 developing GNU and promoting software freedom."
26 INFO-DIR-SECTION Software development
28 * Make: (make). Remake files automatically.
32 File: make.info, Node: Name Index, Prev: Concept Index, Up: Top
34 Index of Functions, Variables, & Directives
35 *******************************************
40 * $%: Automatic Variables. (line 37)
41 * $(%D): Automatic Variables. (line 130)
42 * $(%F): Automatic Variables. (line 131)
43 * $(*D): Automatic Variables. (line 125)
44 * $(*F): Automatic Variables. (line 126)
45 * $(+D): Automatic Variables. (line 148)
46 * $(+F): Automatic Variables. (line 149)
47 * $(<D): Automatic Variables. (line 138)
48 * $(<F): Automatic Variables. (line 139)
49 * $(?D): Automatic Variables. (line 154)
50 * $(?F): Automatic Variables. (line 155)
51 * $(@D): Automatic Variables. (line 114)
52 * $(@F): Automatic Variables. (line 120)
53 * $(^D): Automatic Variables. (line 143)
54 * $(^F): Automatic Variables. (line 144)
55 * $*: Automatic Variables. (line 83)
56 * $*, and static pattern: Static Usage. (line 82)
57 * $+: Automatic Variables. (line 73)
58 * $<: Automatic Variables. (line 43)
59 * $?: Automatic Variables. (line 48)
60 * $@: Automatic Variables. (line 30)
61 * $^: Automatic Variables. (line 63)
62 * $|: Automatic Variables. (line 79)
63 * % (automatic variable): Automatic Variables. (line 37)
64 * %D (automatic variable): Automatic Variables. (line 130)
65 * %F (automatic variable): Automatic Variables. (line 131)
66 * * (automatic variable): Automatic Variables. (line 83)
67 * * (automatic variable), unsupported bizarre usage: Missing. (line 44)
68 * *D (automatic variable): Automatic Variables. (line 125)
69 * *F (automatic variable): Automatic Variables. (line 126)
70 * + (automatic variable): Automatic Variables. (line 73)
71 * +D (automatic variable): Automatic Variables. (line 148)
72 * +F (automatic variable): Automatic Variables. (line 149)
73 * -load: load Directive. (line 65)
74 * .DEFAULT: Special Targets. (line 22)
75 * .DEFAULT <1>: Last Resort. (line 23)
76 * .DEFAULT, and empty recipes: Empty Recipes. (line 16)
77 * .DEFAULT_GOAL (define default goal): Special Variables. (line 34)
78 * .DELETE_ON_ERROR: Special Targets. (line 100)
79 * .DELETE_ON_ERROR <1>: Errors. (line 63)
80 * .EXPORT_ALL_VARIABLES: Special Targets. (line 164)
81 * .EXPORT_ALL_VARIABLES <1>: Variables/Recursion. (line 94)
82 * .EXTRA_PREREQS (prerequisites not added to automatic variables): Special Variables.
84 * .FEATURES (list of supported features): Special Variables. (line 121)
85 * .IGNORE: Special Targets. (line 107)
86 * .IGNORE <1>: Errors. (line 30)
87 * .INCLUDE_DIRS (list of include directories): Special Variables.
89 * .INTERMEDIATE: Special Targets. (line 47)
90 * .LIBPATTERNS: Libraries/Search. (line 6)
91 * .LOADED: load Directive. (line 62)
92 * .LOW_RESOLUTION_TIME: Special Targets. (line 120)
93 * .NOTINTERMEDIATE: Special Targets. (line 53)
94 * .NOTPARALLEL: Special Targets. (line 171)
95 * .NOTPARALLEL <1>: Parallel Disable. (line 16)
96 * .ONESHELL: Special Targets. (line 184)
97 * .ONESHELL <1>: One Shell. (line 6)
98 * .PHONY: Phony Targets. (line 22)
99 * .PHONY <1>: Special Targets. (line 8)
100 * .POSIX: Special Targets. (line 191)
101 * .POSIX <1>: Options/Recursion. (line 69)
102 * .PRECIOUS: Special Targets. (line 31)
103 * .PRECIOUS <1>: Interrupts. (line 22)
104 * .RECIPEPREFIX (change the recipe prefix character): Special Variables.
106 * .SECONDARY: Special Targets. (line 63)
107 * .SECONDEXPANSION: Secondary Expansion. (line 6)
108 * .SECONDEXPANSION <1>: Special Targets. (line 93)
109 * .SHELLFLAGS: Choosing the Shell. (line 6)
110 * .SHELLFLAGS <1>: Choosing the Shell. (line 87)
111 * .SHELLSTATUS: Shell Function. (line 30)
112 * .SILENT: Special Targets. (line 151)
113 * .SILENT <1>: Echoing. (line 24)
114 * .SUFFIXES: Special Targets. (line 16)
115 * .SUFFIXES <1>: Suffix Rules. (line 61)
116 * .VARIABLES (list of variables): Special Variables. (line 112)
117 * .WAIT: Parallel Disable. (line 51)
118 * /usr/gnu/include: Include. (line 53)
119 * /usr/include: Include. (line 53)
120 * /usr/local/include: Include. (line 53)
121 * < (automatic variable): Automatic Variables. (line 43)
122 * <D (automatic variable): Automatic Variables. (line 138)
123 * <F (automatic variable): Automatic Variables. (line 139)
124 * ? (automatic variable): Automatic Variables. (line 48)
125 * ?D (automatic variable): Automatic Variables. (line 154)
126 * ?F (automatic variable): Automatic Variables. (line 155)
127 * @ (automatic variable): Automatic Variables. (line 30)
128 * @D (automatic variable): Automatic Variables. (line 114)
129 * @F (automatic variable): Automatic Variables. (line 120)
130 * ^ (automatic variable): Automatic Variables. (line 63)
131 * ^D (automatic variable): Automatic Variables. (line 143)
132 * ^F (automatic variable): Automatic Variables. (line 144)
133 * | (automatic variable): Automatic Variables. (line 79)
134 * abspath: File Name Functions. (line 120)
135 * addprefix: File Name Functions. (line 78)
136 * addsuffix: File Name Functions. (line 67)
137 * and: Conditional Functions.
139 * AR: Implicit Variables. (line 40)
140 * ARFLAGS: Implicit Variables. (line 113)
141 * AS: Implicit Variables. (line 43)
142 * ASFLAGS: Implicit Variables. (line 116)
143 * basename: File Name Functions. (line 56)
144 * bindir: Directory Variables. (line 57)
145 * call: Call Function. (line 6)
146 * CC: Implicit Variables. (line 46)
147 * CFLAGS: Implicit Variables. (line 120)
148 * CO: Implicit Variables. (line 66)
149 * COFLAGS: Implicit Variables. (line 126)
150 * COMSPEC: Choosing the Shell. (line 41)
151 * CPP: Implicit Variables. (line 52)
152 * CPPFLAGS: Implicit Variables. (line 129)
153 * CTANGLE: Implicit Variables. (line 103)
154 * CURDIR: Recursion. (line 28)
155 * CWEAVE: Implicit Variables. (line 97)
156 * CXX: Implicit Variables. (line 49)
157 * CXXFLAGS: Implicit Variables. (line 123)
158 * define: Multi-Line. (line 6)
159 * DESTDIR: DESTDIR. (line 6)
160 * dir: File Name Functions. (line 16)
161 * else: Conditional Syntax. (line 6)
162 * endef: Multi-Line. (line 6)
163 * endif: Conditional Syntax. (line 6)
164 * error: Make Control Functions.
166 * eval: Eval Function. (line 6)
167 * exec_prefix: Directory Variables. (line 39)
168 * export: Variables/Recursion. (line 38)
169 * FC: Implicit Variables. (line 56)
170 * FFLAGS: Implicit Variables. (line 133)
171 * file: File Function. (line 6)
172 * filter: Text Functions. (line 116)
173 * filter-out: Text Functions. (line 134)
174 * findstring: Text Functions. (line 105)
175 * firstword: Text Functions. (line 186)
176 * flavor: Flavor Function. (line 6)
177 * foreach: Foreach Function. (line 6)
178 * GET: Implicit Variables. (line 69)
179 * GFLAGS: Implicit Variables. (line 136)
180 * gmk-eval: Guile Interface. (line 18)
181 * gmk-expand: Guile Interface. (line 12)
182 * gmk_add_function: Loaded Object API. (line 53)
183 * gmk_alloc: Loaded Object API. (line 149)
184 * gmk_eval: Loaded Object API. (line 123)
185 * gmk_expand: Loaded Object API. (line 117)
186 * gmk_free: Loaded Object API. (line 155)
187 * gmk_func_ptr: Loaded Object API. (line 95)
188 * GNUmakefile: Makefile Names. (line 7)
189 * GPATH: Search Algorithm. (line 48)
190 * guile: Guile Function. (line 6)
191 * if: Conditional Functions.
193 * if <1>: Conditional Functions.
195 * ifdef: Conditional Syntax. (line 6)
196 * ifeq: Conditional Syntax. (line 6)
197 * ifndef: Conditional Syntax. (line 6)
198 * ifneq: Conditional Syntax. (line 6)
199 * include: Include. (line 6)
200 * info: Make Control Functions.
202 * intcmp: Conditional Functions.
204 * join: File Name Functions. (line 89)
205 * lastword: Text Functions. (line 199)
206 * LDFLAGS: Implicit Variables. (line 139)
207 * LDLIBS: Implicit Variables. (line 144)
208 * let: Let Function. (line 6)
209 * LEX: Implicit Variables. (line 72)
210 * LFLAGS: Implicit Variables. (line 150)
211 * libexecdir: Directory Variables. (line 70)
212 * LINT: Implicit Variables. (line 80)
213 * LINTFLAGS: Implicit Variables. (line 162)
214 * load: load Directive. (line 9)
215 * LOADLIBES: Implicit Variables. (line 144)
216 * M2C: Implicit Variables. (line 60)
217 * MAKE: MAKE Variable. (line 6)
218 * MAKE <1>: Simple Assignment. (line 38)
219 * MAKECMDGOALS: Goals. (line 30)
220 * Makefile: Makefile Names. (line 7)
221 * makefile: Makefile Names. (line 7)
222 * MAKEFILES: MAKEFILES Variable. (line 6)
223 * MAKEFILES <1>: Variables/Recursion. (line 134)
224 * MAKEFILE_LIST (list of parsed makefiles): Special Variables.
226 * MAKEFLAGS: Options/Recursion. (line 6)
227 * MAKEINFO: Implicit Variables. (line 83)
228 * MAKELEVEL: Variables/Recursion. (line 122)
229 * MAKELEVEL <1>: Simple Assignment. (line 38)
230 * MAKEOVERRIDES: Options/Recursion. (line 58)
231 * MAKESHELL (MS-DOS alternative to SHELL): Choosing the Shell.
233 * MAKE_HOST: Quick Reference. (line 360)
234 * MAKE_RESTARTS (number of times make has restarted): Special Variables.
236 * MAKE_TERMERR (whether stderr is a terminal): Special Variables.
238 * MAKE_TERMOUT (whether stdout is a terminal): Special Variables.
240 * MAKE_VERSION: Quick Reference. (line 355)
241 * MFLAGS: Options/Recursion. (line 74)
242 * notdir: File Name Functions. (line 26)
243 * or: Conditional Functions.
245 * origin: Origin Function. (line 6)
246 * OUTPUT_OPTION: Catalogue of Rules. (line 204)
247 * override: Override Directive. (line 6)
248 * patsubst: Substitution Refs. (line 28)
249 * patsubst <1>: Text Functions. (line 18)
250 * PC: Implicit Variables. (line 63)
251 * PFLAGS: Implicit Variables. (line 156)
252 * prefix: Directory Variables. (line 29)
253 * private: Suppressing Inheritance.
255 * realpath: File Name Functions. (line 113)
256 * RFLAGS: Implicit Variables. (line 159)
257 * RM: Implicit Variables. (line 106)
258 * sbindir: Directory Variables. (line 63)
259 * SHELL: Choosing the Shell. (line 6)
260 * SHELL <1>: Choosing the Shell. (line 88)
261 * shell: Shell Function. (line 6)
262 * SHELL (recipe execution): Execution. (line 6)
263 * sort: Text Functions. (line 148)
264 * strip: Text Functions. (line 81)
265 * subst: Multiple Targets. (line 39)
266 * subst <1>: Text Functions. (line 9)
267 * suffix: File Name Functions. (line 42)
268 * SUFFIXES: Suffix Rules. (line 81)
269 * TANGLE: Implicit Variables. (line 100)
270 * TEX: Implicit Variables. (line 87)
271 * TEXI2DVI: Implicit Variables. (line 90)
272 * undefine: Undefine Directive. (line 6)
273 * unexport: Variables/Recursion. (line 43)
274 * value: Value Function. (line 6)
275 * VPATH: Directory Search. (line 6)
276 * VPATH <1>: General Search. (line 6)
277 * vpath: Directory Search. (line 6)
278 * vpath <1>: Selective Search. (line 6)
279 * warning: Make Control Functions.
281 * WEAVE: Implicit Variables. (line 94)
282 * wildcard: Wildcard Function. (line 6)
283 * wildcard <1>: File Name Functions. (line 106)
284 * word: Text Functions. (line 160)
285 * wordlist: Text Functions. (line 169)
286 * words: Text Functions. (line 181)
287 * YACC: Implicit Variables. (line 76)
288 * YFLAGS: Implicit Variables. (line 153)