This file is indexed.

/usr/share/doc/make-doc/make_13.html is in make-doc 3.81-5.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
<html>
<!-- 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.70, last updated 1 April 2006,
of The GNU Make Manual, for GNU make version 3.81.

Copyright C 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006
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.2 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 freedom to copy and modify
this GNU Manual, like GNU software.  Copies published by the Free
Software Foundation raise funds for GNU development."

 -->
<!-- Created on August, 17 2009 by texi2html 1.78 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
            Karl Berry  <karl@freefriends.org>
            Olaf Bachmann <obachman@mathematik.uni-kl.de>
            and many others.
Maintained by: Many creative people.
Send bugs and suggestions to <texi2html-bug@nongnu.org>

-->
<head>
<title>GNU make: 13. Incompatibilities and Missing Features</title>

<meta name="description" content="GNU make: 13. Incompatibilities and Missing Features">
<meta name="keywords" content="GNU make: 13. Incompatibilities and Missing Features">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2html 1.78">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
pre.display {font-family: serif}
pre.format {font-family: serif}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: serif; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: serif; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.roman {font-family:serif; font-weight:normal;}
span.sansserif {font-family:sans-serif; font-weight:normal;}
ul.toc {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">

<a name="Missing"></a>
<a name="SEC135"></a>
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="make_12.html#SEC134" title="Previous section in reading order"> &lt; </a>]</td>
<td valign="middle" align="left">[<a href="make_14.html#SEC136" title="Next section in reading order"> &gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="make_12.html#SEC134" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="make.html#SEC_Top" title="Up section"> Up </a>]</td>
<td valign="middle" align="left">[<a href="make_14.html#SEC136" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="make.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="make_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td valign="middle" align="left">[<a href="make_19.html#SEC148" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="make_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<h1 class="chapter"> 13. Incompatibilities and Missing Features </h1>

<p>The <code>make</code> programs in various other systems support a few features
that are not implemented in GNU <code>make</code>.  The POSIX.2 standard
(<cite>IEEE Standard 1003.2-1992</cite>) which specifies <code>make</code> does not
require any of these features.
</p>
<ul>
<li>
A target of the form &lsquo;<samp><var>file</var>((<var>entry</var>))</samp>&rsquo; stands for a member
of archive file <var>file</var>.  The member is chosen, not by name, but by
being an object file which defines the linker symbol <var>entry</var>.

<p>This feature was not put into GNU <code>make</code> because of the
nonmodularity of putting knowledge into <code>make</code> of the internal
format of archive file symbol tables.
See section <a href="make_11.html#SEC131">Updating Archive Symbol Directories</a>.
</p>
</li><li>
Suffixes (used in suffix rules) that end with the character &lsquo;<samp>~</samp>&rsquo;
have a special meaning to System V <code>make</code>;
they refer to the SCCS file that corresponds
to the file one would get without the &lsquo;<samp>~</samp>&rsquo;.  For example, the
suffix rule &lsquo;<samp>.c~.o</samp>&rsquo; would make the file &lsquo;<tt><var>n</var>.o</tt>&rsquo; from
the SCCS file &lsquo;<tt>s.<var>n</var>.c</tt>&rsquo;.  For complete coverage, a whole
series of such suffix rules is required.
See section <a href="make_10.html#SEC126">Old-Fashioned Suffix Rules</a>.

<p>In GNU <code>make</code>, this entire series of cases is handled by two
pattern rules for extraction from SCCS, in combination with the
general feature of rule chaining.
See section <a href="make_10.html#SEC117">Chains of Implicit Rules</a>.
</p>
</li><li>
In System V and 4.3 BSD <code>make</code>, files found by <code>VPATH</code> search
(see section <a href="make_4.html#SEC38">Searching Directories for Prerequisites</a>) have their names changed inside command
strings.  We feel it is much cleaner to always use automatic variables
and thus make this feature obsolete.

</li><li>
In some Unix <code>make</code>s, the automatic variable <code>$*</code> appearing in
the prerequisites of a rule has the amazingly strange &ldquo;feature&rdquo; of
expanding to the full name of the <em>target of that rule</em>.  We cannot
imagine what went on in the minds of Unix <code>make</code> developers to do
this; it is utterly inconsistent with the normal definition of <code>$*</code>.
<a name="IDX631"></a>

</li><li>
In some Unix <code>make</code>s, implicit rule search
(see section <a href="make_10.html#SEC113">Using Implicit Rules</a>) is apparently done for
<em>all</em> targets, not just those without commands.  This means you can
do:

<table><tr><td>&nbsp;</td><td><pre class="example">foo.o:
        cc -c foo.c
</pre></td></tr></table>

<p>and Unix <code>make</code> will intuit that &lsquo;<tt>foo.o</tt>&rsquo; depends on
&lsquo;<tt>foo.c</tt>&rsquo;.
</p>
<p>We feel that such usage is broken.  The prerequisite properties of
<code>make</code> are well-defined (for GNU <code>make</code>, at least),
and doing such a thing simply does not fit the model.
</p>
</li><li>
GNU <code>make</code> does not include any built-in implicit rules for
compiling or preprocessing EFL programs.  If we hear of anyone who is
using EFL, we will gladly add them.

</li><li>
It appears that in SVR4 <code>make</code>, a suffix rule can be specified with
no commands, and it is treated as if it had empty commands
(see section <a href="make_5.html#SEC73">Using Empty Commands</a>).  For example:

<table><tr><td>&nbsp;</td><td><pre class="example">.c.a:
</pre></td></tr></table>

<p>will override the built-in &lsquo;<tt>.c.a</tt>&rsquo; suffix rule.
</p>
<p>We feel that it is cleaner for a rule without commands to always simply
add to the prerequisite list for the target.  The above example can be
easily rewritten to get the desired behavior in GNU <code>make</code>:
</p>
<table><tr><td>&nbsp;</td><td><pre class="example">.c.a: ;
</pre></td></tr></table>

</li><li>
Some versions of <code>make</code> invoke the shell with the &lsquo;<samp>-e</samp>&rsquo; flag,
except under &lsquo;<samp>-k</samp>&rsquo; (see section <a href="make_9.html#SEC111">Testing the Compilation of a Program</a>).  The &lsquo;<samp>-e</samp>&rsquo; flag tells the shell to exit as soon as any
program it runs returns a nonzero status.  We feel it is cleaner to
write each shell command line to stand on its own and not require this
special treatment.
</li></ul>


<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="make_12.html#SEC134" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="make_14.html#SEC136" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left">[<a href="make.html#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="make_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td valign="middle" align="left">[<a href="make_19.html#SEC148" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="make_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
 <font size="-1">
  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>.
 </font>
 <br>

</p>
</body>
</html>