~ubuntu-branches/debian/sid/make-doc-non-dfsg/sid

« back to all changes in this revision

Viewing changes to doc/make/make_toc.html

  • Committer: Package Import Robot
  • Author(s): Manoj Srivastava
  • Date: 2014-05-04 18:48:47 UTC
  • mfrom: (4.1.1 experimental)
  • Revision ID: package-import@ubuntu.com-20140504184847-50zxi1b08m22ehle
Tags: 4.0-2
Move to usntable, since the make binary package has been uploaded
there. No changes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
2
 
<html>
3
 
<!-- This file documents the GNU make utility, which determines
4
 
automatically which pieces of a large program need to be recompiled,
5
 
and issues the commands to recompile them.
6
 
 
7
 
This is Edition 0.70, last updated 1 April 2006,
8
 
of The GNU Make Manual, for GNU make version 3.81.
9
 
 
10
 
Copyright C 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
11
 
1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006
12
 
Free Software Foundation, Inc.
13
 
 
14
 
Permission is granted to copy, distribute and/or modify this document
15
 
under the terms of the GNU Free Documentation License, Version 1.2 or
16
 
any later version published by the Free Software Foundation; with no
17
 
Invariant Sections, with the Front-Cover Texts being "A GNU Manual,"
18
 
and with the Back-Cover Texts as in (a) below.  A copy of the
19
 
license is included in the section entitled "GNU Free Documentation
20
 
License."
21
 
 
22
 
(a) The FSF's Back-Cover Text is: "You have freedom to copy and modify
23
 
this GNU Manual, like GNU software.  Copies published by the Free
24
 
Software Foundation raise funds for GNU development."
25
 
 
26
 
 -->
27
 
<!-- Created on August, 17 2009 by texi2html 1.78 -->
28
 
<!--
29
 
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
30
 
            Karl Berry  <karl@freefriends.org>
31
 
            Olaf Bachmann <obachman@mathematik.uni-kl.de>
32
 
            and many others.
33
 
Maintained by: Many creative people.
34
 
Send bugs and suggestions to <texi2html-bug@nongnu.org>
35
 
 
36
 
-->
37
 
<head>
38
 
<title>GNU make: Table of Contents</title>
39
 
 
40
 
<meta name="description" content="GNU make: Table of Contents">
41
 
<meta name="keywords" content="GNU make: Table of Contents">
42
 
<meta name="resource-type" content="document">
43
 
<meta name="distribution" content="global">
44
 
<meta name="Generator" content="texi2html 1.78">
45
 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
46
 
<style type="text/css">
47
 
<!--
48
 
a.summary-letter {text-decoration: none}
49
 
pre.display {font-family: serif}
50
 
pre.format {font-family: serif}
51
 
pre.menu-comment {font-family: serif}
52
 
pre.menu-preformatted {font-family: serif}
53
 
pre.smalldisplay {font-family: serif; font-size: smaller}
54
 
pre.smallexample {font-size: smaller}
55
 
pre.smallformat {font-family: serif; font-size: smaller}
56
 
pre.smalllisp {font-size: smaller}
57
 
span.roman {font-family:serif; font-weight:normal;}
58
 
span.sansserif {font-family:sans-serif; font-weight:normal;}
59
 
ul.toc {list-style: none}
60
 
-->
61
 
</style>
62
 
 
63
 
 
64
 
</head>
65
 
 
66
 
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
67
 
 
68
 
<a name="SEC_Contents"></a>
69
 
<table cellpadding="1" cellspacing="1" border="0">
70
 
<tr><td valign="middle" align="left">[<a href="make.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
71
 
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
72
 
<td valign="middle" align="left">[<a href="make_19.html#SEC148" title="Index">Index</a>]</td>
73
 
<td valign="middle" align="left">[<a href="make_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
74
 
</tr></table>
75
 
<h1>Table of Contents</h1>
76
 
<div class="contents">
77
 
 
78
 
<ul class="toc">
79
 
  <li><a name="TOC1" href="make_1.html#SEC1">1. Overview of <code>make</code></a>
80
 
  <ul class="toc">
81
 
    <li><a name="TOC2" href="make_1.html#SEC3">1.1 How to Read This Manual</a></li>
82
 
    <li><a name="TOC3" href="make_1.html#SEC4">1.2 Problems and Bugs</a></li>
83
 
  </ul></li>
84
 
  <li><a name="TOC4" href="make_2.html#SEC5">2. An Introduction to Makefiles</a>
85
 
  <ul class="toc">
86
 
    <li><a name="TOC5" href="make_2.html#SEC6">2.1 What a Rule Looks Like</a></li>
87
 
    <li><a name="TOC6" href="make_2.html#SEC7">2.2 A Simple Makefile</a></li>
88
 
    <li><a name="TOC7" href="make_2.html#SEC8">2.3 How <code>make</code> Processes a Makefile</a></li>
89
 
    <li><a name="TOC8" href="make_2.html#SEC9">2.4 Variables Make Makefiles Simpler</a></li>
90
 
    <li><a name="TOC9" href="make_2.html#SEC10">2.5 Letting <code>make</code> Deduce the Commands</a></li>
91
 
    <li><a name="TOC10" href="make_2.html#SEC11">2.6 Another Style of Makefile</a></li>
92
 
    <li><a name="TOC11" href="make_2.html#SEC12">2.7 Rules for Cleaning the Directory</a></li>
93
 
  </ul></li>
94
 
  <li><a name="TOC12" href="make_3.html#SEC13">3. Writing Makefiles</a>
95
 
  <ul class="toc">
96
 
    <li><a name="TOC13" href="make_3.html#SEC14">3.1 What Makefiles Contain</a></li>
97
 
    <li><a name="TOC14" href="make_3.html#SEC15">3.2 What Name to Give Your Makefile</a></li>
98
 
    <li><a name="TOC15" href="make_3.html#SEC16">3.3 Including Other Makefiles</a></li>
99
 
    <li><a name="TOC16" href="make_3.html#SEC17">3.4 The Variable <code>MAKEFILES</code></a></li>
100
 
    <li><a name="TOC17" href="make_3.html#SEC18">3.5 The Variable <code>MAKEFILE_LIST</code></a></li>
101
 
    <li><a name="TOC18" href="make_3.html#SEC19">3.6 Other Special Variables</a></li>
102
 
    <li><a name="TOC19" href="make_3.html#SEC20">3.7 How Makefiles Are Remade</a></li>
103
 
    <li><a name="TOC20" href="make_3.html#SEC21">3.8 Overriding Part of Another Makefile</a></li>
104
 
    <li><a name="TOC21" href="make_3.html#SEC22">3.9 How <code>make</code> Reads a Makefile</a></li>
105
 
    <li><a name="TOC22" href="make_3.html#SEC26">3.10 Secondary Expansion</a></li>
106
 
  </ul></li>
107
 
  <li><a name="TOC23" href="make_4.html#SEC30">4. Writing Rules</a>
108
 
  <ul class="toc">
109
 
    <li><a name="TOC24" href="make_4.html#SEC31">4.1 Rule Example</a></li>
110
 
    <li><a name="TOC25" href="make_4.html#SEC32">4.2 Rule Syntax</a></li>
111
 
    <li><a name="TOC26" href="make_4.html#SEC33">4.3 Types of Prerequisites</a></li>
112
 
    <li><a name="TOC27" href="make_4.html#SEC34">4.4 Using Wildcard Characters in File Names</a>
113
 
    <ul class="toc">
114
 
      <li><a name="TOC28" href="make_4.html#SEC35">4.4.1 Wildcard Examples</a></li>
115
 
      <li><a name="TOC29" href="make_4.html#SEC36">4.4.2 Pitfalls of Using Wildcards</a></li>
116
 
      <li><a name="TOC30" href="make_4.html#SEC37">4.4.3 The Function <code>wildcard</code></a></li>
117
 
    </ul></li>
118
 
    <li><a name="TOC31" href="make_4.html#SEC38">4.5 Searching Directories for Prerequisites</a>
119
 
    <ul class="toc">
120
 
      <li><a name="TOC32" href="make_4.html#SEC39">4.5.1 <code>VPATH</code>: Search Path for All Prerequisites</a></li>
121
 
      <li><a name="TOC33" href="make_4.html#SEC40">4.5.2 The <code>vpath</code> Directive</a></li>
122
 
      <li><a name="TOC34" href="make_4.html#SEC41">4.5.3 How Directory Searches are Performed</a></li>
123
 
      <li><a name="TOC35" href="make_4.html#SEC42">4.5.4 Writing Shell Commands with Directory Search</a></li>
124
 
      <li><a name="TOC36" href="make_4.html#SEC43">4.5.5 Directory Search and Implicit Rules</a></li>
125
 
      <li><a name="TOC37" href="make_4.html#SEC44">4.5.6 Directory Search for Link Libraries</a></li>
126
 
    </ul></li>
127
 
    <li><a name="TOC38" href="make_4.html#SEC45">4.6 Phony Targets</a></li>
128
 
    <li><a name="TOC39" href="make_4.html#SEC46">4.7 Rules without Commands or Prerequisites</a></li>
129
 
    <li><a name="TOC40" href="make_4.html#SEC47">4.8 Empty Target Files to Record Events</a></li>
130
 
    <li><a name="TOC41" href="make_4.html#SEC48">4.9 Special Built-in Target Names</a></li>
131
 
    <li><a name="TOC42" href="make_4.html#SEC49">4.10 Multiple Targets in a Rule</a></li>
132
 
    <li><a name="TOC43" href="make_4.html#SEC50">4.11 Multiple Rules for One Target</a></li>
133
 
    <li><a name="TOC44" href="make_4.html#SEC51">4.12 Static Pattern Rules</a>
134
 
    <ul class="toc">
135
 
      <li><a name="TOC45" href="make_4.html#SEC52">4.12.1 Syntax of Static Pattern Rules</a></li>
136
 
      <li><a name="TOC46" href="make_4.html#SEC53">4.12.2 Static Pattern Rules versus Implicit Rules</a></li>
137
 
    </ul></li>
138
 
    <li><a name="TOC47" href="make_4.html#SEC54">4.13 Double-Colon Rules</a></li>
139
 
    <li><a name="TOC48" href="make_4.html#SEC55">4.14 Generating Prerequisites Automatically</a></li>
140
 
  </ul></li>
141
 
  <li><a name="TOC49" href="make_5.html#SEC56">5. Writing the Commands in Rules</a>
142
 
  <ul class="toc">
143
 
    <li><a name="TOC50" href="make_5.html#SEC57">5.1 Command Syntax</a>
144
 
    <ul class="toc">
145
 
      <li><a name="TOC51" href="make_5.html#SEC58">5.1.1 Splitting Command Lines</a></li>
146
 
      <li><a name="TOC52" href="make_5.html#SEC59">5.1.2 Using Variables in Commands</a></li>
147
 
    </ul></li>
148
 
    <li><a name="TOC53" href="make_5.html#SEC60">5.2 Command Echoing</a></li>
149
 
    <li><a name="TOC54" href="make_5.html#SEC61">5.3 Command Execution</a>
150
 
    <ul class="toc">
151
 
      <li><a name="TOC55" href="make_5.html#SEC62">5.3.1 Choosing the Shell</a></li>
152
 
    </ul></li>
153
 
    <li><a name="TOC56" href="make_5.html#SEC64">5.4 Parallel Execution</a></li>
154
 
    <li><a name="TOC57" href="make_5.html#SEC65">5.5 Errors in Commands</a></li>
155
 
    <li><a name="TOC58" href="make_5.html#SEC66">5.6 Interrupting or Killing <code>make</code></a></li>
156
 
    <li><a name="TOC59" href="make_5.html#SEC67">5.7 Recursive Use of <code>make</code></a>
157
 
    <ul class="toc">
158
 
      <li><a name="TOC60" href="make_5.html#SEC68">5.7.1 How the <code>MAKE</code> Variable Works</a></li>
159
 
      <li><a name="TOC61" href="make_5.html#SEC69">5.7.2 Communicating Variables to a Sub-<code>make</code></a></li>
160
 
      <li><a name="TOC62" href="make_5.html#SEC70">5.7.3 Communicating Options to a Sub-<code>make</code></a></li>
161
 
      <li><a name="TOC63" href="make_5.html#SEC71">5.7.4 The &lsquo;<samp>--print-directory</samp>&rsquo; Option</a></li>
162
 
    </ul></li>
163
 
    <li><a name="TOC64" href="make_5.html#SEC72">5.8 Defining Canned Command Sequences</a></li>
164
 
    <li><a name="TOC65" href="make_5.html#SEC73">5.9 Using Empty Commands</a></li>
165
 
  </ul></li>
166
 
  <li><a name="TOC66" href="make_6.html#SEC74">6. How to Use Variables</a>
167
 
  <ul class="toc">
168
 
    <li><a name="TOC67" href="make_6.html#SEC75">6.1 Basics of Variable References</a></li>
169
 
    <li><a name="TOC68" href="make_6.html#SEC76">6.2 The Two Flavors of Variables</a></li>
170
 
    <li><a name="TOC69" href="make_6.html#SEC77">6.3 Advanced Features for Reference to Variables</a>
171
 
    <ul class="toc">
172
 
      <li><a name="TOC70" href="make_6.html#SEC78">6.3.1 Substitution References</a></li>
173
 
      <li><a name="TOC71" href="make_6.html#SEC79">6.3.2 Computed Variable Names</a></li>
174
 
    </ul></li>
175
 
    <li><a name="TOC72" href="make_6.html#SEC80">6.4 How Variables Get Their Values</a></li>
176
 
    <li><a name="TOC73" href="make_6.html#SEC81">6.5 Setting Variables</a></li>
177
 
    <li><a name="TOC74" href="make_6.html#SEC82">6.6 Appending More Text to Variables</a></li>
178
 
    <li><a name="TOC75" href="make_6.html#SEC83">6.7 The <code>override</code> Directive</a></li>
179
 
    <li><a name="TOC76" href="make_6.html#SEC84">6.8 Defining Variables Verbatim</a></li>
180
 
    <li><a name="TOC77" href="make_6.html#SEC85">6.9 Variables from the Environment</a></li>
181
 
    <li><a name="TOC78" href="make_6.html#SEC86">6.10 Target-specific Variable Values</a></li>
182
 
    <li><a name="TOC79" href="make_6.html#SEC87">6.11 Pattern-specific Variable Values</a></li>
183
 
  </ul></li>
184
 
  <li><a name="TOC80" href="make_7.html#SEC88">7. Conditional Parts of Makefiles</a>
185
 
  <ul class="toc">
186
 
    <li><a name="TOC81" href="make_7.html#SEC89">7.1 Example of a Conditional</a></li>
187
 
    <li><a name="TOC82" href="make_7.html#SEC90">7.2 Syntax of Conditionals</a></li>
188
 
    <li><a name="TOC83" href="make_7.html#SEC91">7.3 Conditionals that Test Flags</a></li>
189
 
  </ul></li>
190
 
  <li><a name="TOC84" href="make_8.html#SEC92">8. Functions for Transforming Text</a>
191
 
  <ul class="toc">
192
 
    <li><a name="TOC85" href="make_8.html#SEC93">8.1 Function Call Syntax</a></li>
193
 
    <li><a name="TOC86" href="make_8.html#SEC94">8.2 Functions for String Substitution and Analysis</a></li>
194
 
    <li><a name="TOC87" href="make_8.html#SEC95">8.3 Functions for File Names</a></li>
195
 
    <li><a name="TOC88" href="make_8.html#SEC96">8.4 Functions for Conditionals</a></li>
196
 
    <li><a name="TOC89" href="make_8.html#SEC97">8.5 The <code>foreach</code> Function</a></li>
197
 
    <li><a name="TOC90" href="make_8.html#SEC98">8.6 The <code>call</code> Function</a></li>
198
 
    <li><a name="TOC91" href="make_8.html#SEC99">8.7 The <code>value</code> Function</a></li>
199
 
    <li><a name="TOC92" href="make_8.html#SEC100">8.8 The <code>eval</code> Function</a></li>
200
 
    <li><a name="TOC93" href="make_8.html#SEC101">8.9 The <code>origin</code> Function</a></li>
201
 
    <li><a name="TOC94" href="make_8.html#SEC102">8.10 The <code>flavor</code> Function</a></li>
202
 
    <li><a name="TOC95" href="make_8.html#SEC103">8.11 The <code>shell</code> Function</a></li>
203
 
    <li><a name="TOC96" href="make_8.html#SEC104">8.12 Functions That Control Make</a></li>
204
 
  </ul></li>
205
 
  <li><a name="TOC97" href="make_9.html#SEC105">9. How to Run <code>make</code></a>
206
 
  <ul class="toc">
207
 
    <li><a name="TOC98" href="make_9.html#SEC106">9.1 Arguments to Specify the Makefile</a></li>
208
 
    <li><a name="TOC99" href="make_9.html#SEC107">9.2 Arguments to Specify the Goals</a></li>
209
 
    <li><a name="TOC100" href="make_9.html#SEC108">9.3 Instead of Executing the Commands</a></li>
210
 
    <li><a name="TOC101" href="make_9.html#SEC109">9.4 Avoiding Recompilation of Some Files</a></li>
211
 
    <li><a name="TOC102" href="make_9.html#SEC110">9.5 Overriding Variables</a></li>
212
 
    <li><a name="TOC103" href="make_9.html#SEC111">9.6 Testing the Compilation of a Program</a></li>
213
 
    <li><a name="TOC104" href="make_9.html#SEC112">9.7 Summary of Options</a></li>
214
 
  </ul></li>
215
 
  <li><a name="TOC105" href="make_10.html#SEC113">10. Using Implicit Rules</a>
216
 
  <ul class="toc">
217
 
    <li><a name="TOC106" href="make_10.html#SEC114">10.1 Using Implicit Rules</a></li>
218
 
    <li><a name="TOC107" href="make_10.html#SEC115">10.2 Catalogue of Implicit Rules</a></li>
219
 
    <li><a name="TOC108" href="make_10.html#SEC116">10.3 Variables Used by Implicit Rules</a></li>
220
 
    <li><a name="TOC109" href="make_10.html#SEC117">10.4 Chains of Implicit Rules</a></li>
221
 
    <li><a name="TOC110" href="make_10.html#SEC118">10.5 Defining and Redefining Pattern Rules</a>
222
 
    <ul class="toc">
223
 
      <li><a name="TOC111" href="make_10.html#SEC119">10.5.1 Introduction to Pattern Rules</a></li>
224
 
      <li><a name="TOC112" href="make_10.html#SEC120">10.5.2 Pattern Rule Examples</a></li>
225
 
      <li><a name="TOC113" href="make_10.html#SEC121">10.5.3 Automatic Variables</a></li>
226
 
      <li><a name="TOC114" href="make_10.html#SEC122">10.5.4 How Patterns Match</a></li>
227
 
      <li><a name="TOC115" href="make_10.html#SEC123">10.5.5 Match-Anything Pattern Rules</a></li>
228
 
      <li><a name="TOC116" href="make_10.html#SEC124">10.5.6 Canceling Implicit Rules</a></li>
229
 
    </ul></li>
230
 
    <li><a name="TOC117" href="make_10.html#SEC125">10.6 Defining Last-Resort Default Rules</a></li>
231
 
    <li><a name="TOC118" href="make_10.html#SEC126">10.7 Old-Fashioned Suffix Rules</a></li>
232
 
    <li><a name="TOC119" href="make_10.html#SEC127">10.8 Implicit Rule Search Algorithm</a></li>
233
 
  </ul></li>
234
 
  <li><a name="TOC120" href="make_11.html#SEC128">11. Using <code>make</code> to Update Archive Files</a>
235
 
  <ul class="toc">
236
 
    <li><a name="TOC121" href="make_11.html#SEC129">11.1 Archive Members as Targets</a></li>
237
 
    <li><a name="TOC122" href="make_11.html#SEC130">11.2 Implicit Rule for Archive Member Targets</a>
238
 
    <ul class="toc">
239
 
      <li><a name="TOC123" href="make_11.html#SEC131">11.2.1 Updating Archive Symbol Directories</a></li>
240
 
    </ul></li>
241
 
    <li><a name="TOC124" href="make_11.html#SEC132">11.3 Dangers When Using Archives</a></li>
242
 
    <li><a name="TOC125" href="make_11.html#SEC133">11.4 Suffix Rules for Archive Files</a></li>
243
 
  </ul></li>
244
 
  <li><a name="TOC126" href="make_12.html#SEC134">12. Features of GNU <code>make</code></a></li>
245
 
  <li><a name="TOC127" href="make_13.html#SEC135">13. Incompatibilities and Missing Features</a></li>
246
 
  <li><a name="TOC128" href="make_14.html#SEC136">14. Makefile Conventions</a>
247
 
  <ul class="toc">
248
 
    <li><a name="TOC129" href="make_14.html#SEC137">14.1 General Conventions for Makefiles</a></li>
249
 
    <li><a name="TOC130" href="make_14.html#SEC138">14.2 Utilities in Makefiles</a></li>
250
 
    <li><a name="TOC131" href="make_14.html#SEC139">14.3 Variables for Specifying Commands</a></li>
251
 
    <li><a name="TOC132" href="make_14.html#SEC140">14.4 Variables for Installation Directories</a></li>
252
 
    <li><a name="TOC133" href="make_14.html#SEC141">14.5 Standard Targets for Users</a></li>
253
 
    <li><a name="TOC134" href="make_14.html#SEC142">14.6 Install Command Categories</a></li>
254
 
  </ul></li>
255
 
  <li><a name="TOC135" href="make_15.html#SEC143">A. Quick Reference</a></li>
256
 
  <li><a name="TOC136" href="make_16.html#SEC144">B. Errors Generated by Make</a></li>
257
 
  <li><a name="TOC137" href="make_17.html#SEC145">C. Complex Makefile Example</a></li>
258
 
  <li><a name="TOC138" href="make_18.html#SEC146">D. GNU Free Documentation License</a>
259
 
  <ul class="toc">
260
 
    <li><a name="TOC139" href="make_18.html#SEC147">D.1 ADDENDUM: How to use this License for your documents</a></li>
261
 
  </ul></li>
262
 
  <li><a name="TOC140" href="make_19.html#SEC148">Index of Concepts</a></li>
263
 
  <li><a name="TOC141" href="make_26.html#SEC149">Index of Functions, Variables, &amp; Directives</a></li>
264
 
</ul>
265
 
</div>
266
 
<hr size="1">
267
 
<table cellpadding="1" cellspacing="1" border="0">
268
 
<tr><td valign="middle" align="left">[<a href="make.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
269
 
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
270
 
<td valign="middle" align="left">[<a href="make_19.html#SEC148" title="Index">Index</a>]</td>
271
 
<td valign="middle" align="left">[<a href="make_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
272
 
</tr></table>
273
 
<p>
274
 
 <font size="-1">
275
 
  This document was generated by <em>Manoj Srivastava</em> on <em>August, 17 2009</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78</em></a>.
276
 
 </font>
277
 
 <br>
278
 
 
279
 
</p>
280
 
</body>
281
 
</html>