Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The first line in your question is just a standard Makefile rule.</p> <pre><code>vpath.o: make.h config.h getopt.h gettext.h dep.h </code></pre> <p>A <code>.o</code> file is an object file; it's an intermediate product in between your source files and the final compiled binary. It contains compiled code, but it hasn't been linked together into a complete library or binary yet. This rule just says that <code>vpath.o</code> depends on <code>make.h</code>, <code>config.h</code>, etc., and each time those are changed, it should be re-compiled. The commands necessary to build <code>vpath.o</code> should follow on subsequent lines, indented with a tab character. (Apologies if I'm repeating stuff you already know; I wasn't sure what part of that first line you were confused about).</p> <p>The <code>.SUFFIXES</code> doesn't refer to an actual file suffix; it's just a special kind of rule in a makefile which is used for configure "suffix rules".</p> <p>Suffix rules are rules of the form <code>.a.b</code>, such as you see with your <code>.f.o</code> rule. They are a way of telling <code>make</code> that any time you see, say, a <code>.f</code> file (the source file), you can make a <code>.o</code> file (the target file) from it by following that rule, where <code>$&lt;</code> indicates the source file and <code>$@</code> represents the target file.</p> <p>the <code>.SUFFIXES</code> "target" is a way to define which suffixes you can use in your suffix rules. When used with no prerequisites, it clears the built in list of suffixes; when used with prerequisites, it adds those to its list of known suffixes that may be used in suffix rules.</p> <p>In GNU <code>make</code>, you can use the more powerful and more clear <code>%</code> to form pattern rules, like:</p> <pre><code>%.o: %.c gcc -c -o $@ $&lt; </code></pre> <p>which is the equivalent of the suffix rule:</p> <pre><code>.c.o: gcc -c -o $@ $&lt; </code></pre> <p>See the <a href="http://www.gnu.org/software/make/manual/html_node/Suffix-Rules.html" rel="noreferrer">GNU Make documentation</a> for more information (but which also mentions GNU extensions), or the <a href="http://www.opengroup.org/onlinepubs/009695399/utilities/make.html" rel="noreferrer">Single Unix Specification/POSIX</a> for the common, portable syntax.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload