Projects / GNU make

GNU make

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
Licenses
Operating Systems
Implementation

Recent releases

  •  09 Oct 2013 07:12

    Release Notes: A number of new features have been added, including support for GNU Guile as an embedded scripting language in makefiles. A number of bugs have been fixed, and performance improvements made.

    •  20 Aug 2010 03:43

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

      •  01 Apr 2006 08:10

        No changes have been submitted for this release.

        •  04 Oct 2002 13:37

          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.

          •  24 Jun 2000 01:43

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

            Recent comments

            03 Apr 2006 07:25 orlovm

            TrMake
            Check out TrMake (http://freshmeat.net/projects/trmake/) -- a modularized makefile system designed for multi-platform C++ development in Unix environments with GNU make.

            28 Dec 2005 13:58 nogin

            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 (http://freshmeat.net/projects/omake/).

            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 http://freshmeat.net/projects/omake/ (http://freshmeat.net/projects/omake/)

            31 Mar 2003 22:01 psmithgnuorg

            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 psmithgnuorg

            GNU make development migrated to Savannah

            The GNU make development environment has migrated to Savannah (http://savannah.gnu.org), the GNU Project's implementation of SourceForge (http://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:


            http://savannah.gnu.org/projects/make/ (http://savannah.gnu.org/projects/make/)

            27 Aug 2000 10:35 rvgnu

            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
            http://freshmeat.net/projects/cons/


            Screenshot

            Project Spotlight

            OpenStack4j

            A Fluent OpenStack client API for Java.

            Screenshot

            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.