---
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.
::::
[Pg 74] For response, Shorty handed his cap, his gun, his bottle, his blanket-roll, his belt and haversack to Si, rolled up his sleeves, spit on his hands, doubled his fists, and stepped forward into a boxing attitude. The Deacon looked a little regretful at the shrinking of the contents of the kettle, made by taking out the cupful, and said: The negresses, who had been watching their master depart, set to screaming, and the old woman rushed back into the house and blew the horn. The Deacon thrust his revolver back into the holster, caught the old man with his sinewy hand, tore him from the seat, and flung him into the fence-corner. He sprang into the seat, turned the horse's head toward Chattanooga, and hit him a sharp cut with a switch that lay in the wagon. "I cannot get you out of the army too quickly. Sign this, and leave my office, and take off your person every sign of your connection with the army. I shall give orders that if you appear on the street with so much as a military button on, it shall be torn off you." "You will, eh?" sneered Shorty, covering him with a heavy Remington. "How'd you like the looks o' that, old butternut? Your murderin' dirk aint deuce high. Move a step, and you'll know how it feels to have daylight through you." "Then it was only a difference in degree, not kind. Was he not accomplishing what he was ordered to do?" "I don't know." Again a silence. Dodd's hands unclasped: he made a gesture as if he were sweeping something away from his face. "There ought to be something else. Even on Earth, even before the Confederation, there were conscientious objectors." "Okay, it isn't," Albin said. "So make it a game. Just for a minute. Think over all the jobs you can and make a choice. You don't like being here, do you? You don't like working with the Alberts. So where would you like to be? What would you like to do?" He came back to the chair, his eyes on Dodd, and sat suddenly down, his elbows on his knees and his chin cupped in his hands, facing Dodd like a gnome out of pre-history. "Go on," he said. "Make a choice." "Well, don't ask questions," Albin said. He kept one eye on the shifting mob. "If there's anything good for you to know, you'll be told. Meanwhile, just don't ask any questions." Norma's hand drew back again. "You can't just sit back and wait for them to come!" The daughter must be the girl who was talking to him now. She sat on a little stool by the fire, and had brought out some sewing. "He's warked fur it all the same, surelye," said Cooper of Kitchenhour. There was a wicket in the northern gate, the common outlet for the domestics, which, as Holgrave had anticipated, the servitor had not closed after him. He entered, and stood within the court-yard; he heard the sound of voices, and the tread of feet, but no human being was near: he paused an instant to consider, and then, with the swiftness of a deer, he sprung towards the stables, and entered the one appropriated to the select stud of the baron. A lamp was burning, but the men who attended on the horses were now away, quaffing ale to the long life of the heir. The baroness's favourite palfrey was lying in a stall; he stept across the animal, and, after pressing his hands on various parts of the wall, a concealed door flew open, and a dark aperture was before him. He stooped and passed through, and ascended a long, winding flight of steps, till a door impeded his progress; he opened it, and stood in a closet hung round with dresses and mantles, and displaying all the graceful trifles of a lady's wardrobe. There was a door opposite the one at which he had entered, which led into the baroness's chamber, where there were lighted candles, and a blazing fire on the hearth. The floor was thickly strewn with rushes, and he could just perceive the high back of a chair, with the arms of the family wrought in the centre; he paused and listened; he heard the faint cry of a babe, and discovered, by the language of the nurse, that she was feeding it; then there was the hush-a-by, and the rocking motion of the attendant. In a few minutes, the sound of a foot on the rushes, and "the lovely babe would sleep," now announced to Holgrave that the child was deposited with its mother: then he heard the curtains of the bed drawn, and the nurse whisper some one to retire, as her ladyship was inclined to sleep; there was another step across the rushes, and a door was softly closed, and then for a few minutes an unbroken silence, which the nurse at length interrupted by muttering something about "whether the good father had come yet." Again there was a tread across the rushes, and the door again was gently closed; and Holgrave, after a moment of intense listening, stepped from the closet, and entered the chamber. In an elevated alcove stood the bed of the baroness; the rich crimson hangings festooned with gold cord, the drapery tastefully fringed with gold, even to the summit, which was surmounted by a splendid coronet. Holgrave, unaccustomed to magnificence, was for a moment awed by the splendid furniture of the apartment¡ªbut it was only for a moment¡ªand then the native strength of his soul spurned the gaudy trappings; he stepped lightly across the spacious chamber; he unloosed the rich curtains¡ªthe heir of De Boteler was reposing in a deep slumber on a downy pillow; beyond him lay the exhausted mother, her eyes closed, and the noble contour of her face presenting the repose of death. For an instant, Holgrave paused: remorse for the deed that he was about to do sent a sudden glow across his care-worn face¡ªbut had not the baron destroyed his offspring? whispered the tempting spirit. He raised the babe from the pillows without disturbing its slumber¡ªhe drew the curtains, and¡ªhe reached the stable in safety, closed the secret door, and arrived at the postern, which was still unfastened, passed through, and gained his own door without impediment. HoMEÒ»¼¶×öÈ˰®È«Ãâ·Ñ
ENTER NUMBET 0017
www.saiju.net.cn
www.qunya3.net.cn
deben1.com.cn
faqun6.com.cn
www.maodu6.net.cn
zhouhs.com.cn
www.genme3.com.cn
71n9t.com.cn
www.84wa.com.cn
www.17webfind.com.cn