GNU Make examines the timestamps on a set of interdependent files, and, if necessary, issues commands to bring them up-to-date. The user creates a makefile describing the files, their relationships, and the commands to run. Most often make is used to rebuild libraries and programs when their sources are changed, but it can be used for any situation where one set of files needs to be generated from another set.
| Tags | Software Development Build Tools |
|---|---|
| Licenses | GPL |
| Operating Systems | POSIX Windows |
| Implementation | C |
Recent releases


Release Notes: A number of new features have been added and over 80 bugs have been fixed.


No changes have been submitted for this release.


Release Notes: The first new release of GNU make in two years, this version adds long-awaited new capabilities such as dynamic rule/variable creation (via the $(eval ...) function), the ability to declare build order without implying a dependent relationship, some introspection capabilities, and a number of other improvements, large and small.


Release Notes: This is a bugfix release. It contains no new features, but it has several important bugfixes and some new translations.


Release Notes: Various bugfixes, enhancements, and documention updates.
Recent comments
03 Apr 2006 07:25
TrMake
Check out TrMake (freshmeat.net/projects...) -- a modularized makefile system designed for multi-platform C++ development in Unix environments with GNU make.
28 Dec 2005 13:58
OMake Build System.
Those who are interested in finding a modern replacement to GNU Make that is free of make's shortcomings, but keeps the spirit and some of the syntax should check out OMake (freshmeat.net/projects....
OMake is a build system designed especially for scalability and portability. It uses a syntax similar to GNU make, but it features many additional enhancements, including the following.
* Support for projects spanning several directories or directory hierarchies.
* Fast, reliable, automated, scriptable dependency analysis using MD5 digests, with full support for incremental builds.
* Fully scriptable, includes a library that providing support for standard tasks in C, C++, OCaml, and LaTeX projects, or a mixture thereof.
* Often, a configuration file is as simple as a single line
CProgram(prog, foo bar baz)
which states that the program "prog" is built from the files foo.c, bar.c, and baz.c. This one line will also invoke the default standard library scripts for discovering implicit dependencies in C files (such as dependencies on included header files).
* Full native support for rules that build several files at once.
* Portability: omake provides a uniform interface on Linux/Unix (including 64-bit architectures), Win32, Cygwin, Mac OS X, and other platforms that are supported by OCaml.
* Built-in functions that provide the most common features of programs like grep, sed, and awk. These are especially useful on Win32.
* Active filesystem monitoring, where the build automatically restarts whenever you modify a source file. This can be very useful during the edit/compile cycle.
* A built-in command-interpreter osh that can be used interactively.
OMake preserves the style of syntax and rule definitions used in Makefiles, making it easy to port your project to OMake. There is no need to code in Perl (cons), or Python (scons).
OMake is licensed under a mixture of the GNU GPL license (OMake engine itself) and the MIT-like license (default configuration files).
Freshmeat project page for OMake is freshmeat.net/projects... (freshmeat.net/projects...)
31 Mar 2003 22:01
Savannah bug tracking enabled
Sorry for the late notification, but the GNU make project is now using the Savannah environment for bug tracking as well as the previous project management tools. Please don't use the GNATS problem report tracker any more (for one thing I don't have login privileges so I can never change the status of any of those PRs!)
01 May 2001 10:59
GNU make development migrated to Savannah
The GNU make development environment has migrated to Savannah (savannah.gnu.org), the GNU Project's implementation of SourceForge (sourceforge.net). Access to the mailing lists, CVS repository, and FTP site are available there, as well as areas for technical support requests and patches.
Unfortunately, the bug tracking system (Gnats) has not been integrated yet, but someone is working on that.
Visit the new site at:
27 Aug 2000 10:35
GNU Cons - A Make Replacement
For those of you who don't know about it, GNU Cons is a
perl-based Make replacement .
It is not compatible with make, but it has a number of powerful capabilities not found in other software construction systems, including make.
The Freshmeat URL for GNU Cons is
freshmeat.net/projects...