---
ICBM: 42.355469,-71.058627
lang: en
title: Make - GNU Project - Free Software Foundation
viewport: width=device-width, initial-scale=1
---
:::: {#content role="main"}
## GNU Make
GNU Make is a tool which controls the generation of executables and
other non-source files of a program from the program\'s source files.
Make gets its knowledge of how to build your program from a file called
the *makefile*, which lists each of the non-source files and how to
compute it from other files. When you write a program, you should write
a makefile for it, so that it is possible to use Make to build and
install the program.
#### Capabilities of Make
- Make enables the end user to build and install your package without
knowing the details of how that is done \-- because these details are
recorded in the makefile that you supply.
- Make figures out automatically which files it needs to update, based
on which source files have changed. It also automatically determines
the proper order for updating files, in case one non-source file
depends on another non-source file.
As a result, if you change a few source files and then run Make, it
does not need to recompile all of your program. It updates only those
non-source files that depend directly or indirectly on the source
files that you changed.
- Make is not limited to any particular language. For each non-source
file in the program, the makefile specifies the shell commands to
compute it. These shell commands can run a compiler to produce an
object file, the linker to produce an executable, `ar` to update a
library, or TeX or Makeinfo to format documentation.
- Make is not limited to building a package. You can also use Make to
control installing or deinstalling a package, generate tags tables for
it, or anything else you want to do often enough to make it worth
while writing down how to do it.
::: summary
------------------------------------------------------------------------
### Table of contents {#table-of-contents .no-display}
- [Download](#download)
- [Documentation](#documentation)
- [Mailing lists](#mail)
- [Getting involved](#contribute)
- [Licensing](#license)
------------------------------------------------------------------------
:::
#### Make Rules and Targets
A *rule* in the makefile tells Make how to execute a series of commands
in order to build a *target* file from source files. It also specifies a
list of *dependencies* of the target file. This list should include all
files (whether source files or other targets) which are used as inputs
to the commands in the rule.
Here is what a simple rule looks like:
target: dependencies ...
commands
...
When you run Make, you can specify particular targets to update;
otherwise, Make updates the first target listed in the makefile. Of
course, any other target files needed as input for generating these
targets must be updated first.
Make uses the makefile to figure out which target files ought to be
brought up to date, and then determines which of them actually need to
be updated. If a target file is newer than all of its dependencies, then
it is already up to date, and it does not need to be regenerated. The
other target files do need to be updated, but in the right order: each
target file must be regenerated before it is used in regenerating other
targets.
#### Advantages of GNU Make
GNU Make has many powerful features for use in makefiles, beyond what
other Make versions have. It can also regenerate, use, and then delete
intermediate files which need not be saved.
GNU Make also has a few simple features that are very convenient. For
example, the `-o `*`file`* option which says \`\`pretend that source
file *file* has not changed, even though it has changed.\'\' This is
extremely useful when you add a new macro to a header file. Most
versions of Make will assume they must therefore recompile all the
source files that use the header file; but GNU Make gives you a way to
avoid the recompilation, in the case where you know your change to the
header file does not require it.
However, the most important difference between GNU Make and most
versions of Make is that GNU Make is free software.
#### Makefiles And Conventions
We have developed conventions for how to write Makefiles, which all GNU
packages ought to follow. It is a good idea to follow these conventions
in your program even if you don\'t intend it to be GNU software, so that
users will be able to build your package just like many other packages,
and will not need to learn anything special before doing so.
These conventions are found in the chapter [\`\`Makefile conventions\'\'
(147 k
characters)](/prep/standards/html_node/Makefile-Conventions.html#Makefile-Conventions)
of the [GNU Coding Standards (147 k characters)](/prep/standards.html).
### Download
Make can be found on the main GNU ftp server ([download [Make
]{.no-display}via HTTPS](https://ftp.gnu.org/gnu/make/), [[download
Make via ]{.no-display}HTTP](http://ftp.gnu.org/gnu/make/) or [[download
Make via ]{.no-display}FTP](ftp://ftp.gnu.org/gnu/make/)), and its
[mirrors](/prep/ftp.html); please [use a
mirror](https://ftpmirror.gnu.org/make/) if possible.
### Documentation
[Documentation for Make](manual/) is online, as is [documentation for
most GNU software](/manual/manual.html). It can also be accessed by
running [info make]{.kbd} or [man make]{.kbd}, or by looking at
`/usr/share/doc/make/`, or similar directories on your system. A brief
summary is available by running [make \--help]{.kbd}.
### Mailing lists {#mail}
Make has the following mailing lists:
- [bug-make](https://lists.gnu.org/mailman/listinfo/bug-make) for
discussing most aspects of Make, including development and enhancement
requests, as well as bug reports.
- [help-make](https://lists.gnu.org/mailman/listinfo/help-make) for
general user help and discussion.
Announcements about Make and most other GNU software are made on the
[info-gnu](https://lists.gnu.org/mailman/listinfo/info-gnu) mailing list
([archives](https://lists.gnu.org/archive/html/info-gnu/)).
Security reports that should not be made immediately public can be sent
directly to the maintainer. If there is no response to an urgent issue,
you can escalate to the general
[security](https://lists.gnu.org/mailman/listinfo/security) mailing list
for advice.
### Getting involved {#contribute}
Development of Make, and GNU in general, is a volunteer effort, and you
can contribute. For information, please read [How to help GNU](/help/).
If you\'d like to get involved, it\'s a good idea to join the discussion
mailing list (see above).
Development tools
: For development sources, issue trackers, and other information,
please see the [Make project
page](https://savannah.gnu.org/projects/make/) at
[savannah.gnu.org](https://savannah.gnu.org).
Testing
: Trying the latest test release (when available) is always
appreciated. Test releases can be found on the GNU "alpha" server
([HTTPS](https://alpha.gnu.org/gnu/make/),Â
[HTTP](http://alpha.gnu.org/gnu/make/),Â
[FTP](ftp://alpha.gnu.org/gnu/make/)) and its
[mirrors](/prep/ftp.html).
Translating
: To translate the program messages into other languages, please refer
to the [Translation Project page for
Make](https://translationproject.org/domain/make.html). New
translations or updates to the existing strings will not be
incorporated into Make if they are sent elsewhere. For more
information, see the [Translation Project home
page](https://translationproject.org/html/welcome.html).
Maintainer
: Make is currently maintained by Paul Smith. Please use the mailing
lists for contact.
### Licensing {#license}
Make is free software; you can redistribute it and/or modify it under
the terms of the [GNU General Public
License](/licenses/gpl.html){rel="license"} as published by the Free
Software Foundation; either version 3 of the License, or (at your
option) any later version.
::::
"I think I'll go down to Holloway and see Ren¨¦ Lalage," Prout said thoughtfully. "I dare say I shall be able to advise him to tell me something as to the past of the Countess. If only he were not secure, that woman would have to look to herself. He believes that the woman betrayed and murdered his brother, and he is a Corsican. Give him a few hours' start, and the law would be rid of Leona Lalage." Were the vines ranked and trimmed with pruning-knives, Further yet lay the artificial lake of Meer Alam, reflecting the palace of Baradari and the russet plain, infinite as far as the eye could reach towards the north, where other superb mausoleums were visible in their whiteness. ¡°Son, turn that preserver over¡ªlet me see the other side.¡± The Chiricahuas could see that there was trouble between the officials, both military and civil, and the government. They did not know what it was. They did not understand that the harassed general, whose word¡ªand his alone¡ªhad their entire belief, nagged and thwarted, given authority and then prevented from enforcing it, had rebelled at last, had asked to be relieved, and had been refused. But they drew in with delight the air of strife and unrest. It was the one they loved best, there could and can be no doubt about that. And Cairness himself was startled and utterly unprepared when the Reverend Taylor opened the door of the room where he lay and let her pass in. The little parson uttered no word, but there was a look on his face which said that now the questions he had put with no result were answered. It was for this that Cairness had given the best of his life. [70] "Let's go away," she whispered, half nervously and half angrily, "I hate standing here." In spite of the farm's new activities, he found that he could still manage without engaging fresh labour. The odds and ends of work which his boys took off him and[Pg 123] Beatup left them free to attack the bigger enterprises. And as Odiam grew the children would grow. Even now they were all impressed for service, except little George, who was delicate and, moreover, subject to fits. Their work was varied¡ªthey scared birds from the crops, fed the poultry, collected the eggs, drove the cows to and from pasture, fed the pigs, ran errands to the neighbouring farms. In course of time Albert learned milking, and could saddle old Crump the roan, or put him into the gig. Soon the rumour spread round Peasmarsh that Backfield was going to buy some more land. Reuben himself had started it. Tyler and the other leaders, followed by hundreds, now rushed on to the palace;¡ªthe massive gates yielded to their blows, and the assailants, pouring in through the arched passages, ran along gallery and window, and through seemingly countless apartments. Yet, even amidst their eagerness to capture Lancaster, they paused a moment, casting glances of astonishment and pleasure at the beautifully inlaid cabinets, rich tapestries, and embroidered cushions, which every where met their gaze. The galleyman, however, was perhaps the only one among all the gazers who knew the value of the things he looked upon; and he could not repress a feeling of regret, as he glanced at the damask hangings, and the gold cords and fringes, and remembered that all these would be speedily feeding the flames. As he was thus occupied, and thinking what a fortune these articles would be to a pedling merchant, he saw Jack Straw in the act of whispering in Harvey's ear (who, by some strange sort of moral attraction, was standing by his side), and he noticed them linger until the group they had accompanied passed on to the inspection of other apartments. Oakley then opened a door in a recess in the corridor, which, when they entered, they closed hastily after them. HoME¾©ÏãÃÀ½ÅÔÚÏß²¥·Å
ENTER NUMBET 0016ff951.com.cn
www.hanabi8.com.cn
fenjints.com.cn
www.hezeqiche.com.cn
ejpo.com.cn
www.hnzz666.org.cn
h-wain.com.cn
www.qitfmd.com.cn
www.pnchain.com.cn
www.pdswfy.org.cn