Linux SoftwareProgrammingAssembler ToolsGNU make 3.81

GNU make 3.81


GNU make is a tool which controls the generation of executables and other non-source files of a program from the program's source fil
Developer:   Paul D. Smith
      more software by author →
Price:  0.00
License:   GPL (GNU General Public License)
File size:   1124K
Language:   
OS:   
Rating:   0 /5 (0 votes)
Your vote:  
enlarge screenshot


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.

    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.

    What's New in This Release:
  • Major bugfixes
    tags source files  gnu make  the makefile  non source  target file  source file  and then  target files  header file  files that  does not  the program  when you  

    Download GNU make 3.81


     ftp://ftp.gnu.org/gnu/make/make-3.81.tar.bz2


    Authors software

    GNU make 3.81 (by Paul D. Smith)
    GNU make is a tool which controls the generation of executables and other non-source files of a program from the program's source fil


    Similar software

    GNU make 3.81 (by Paul D. Smith)
    GNU make is a tool which controls the generation of executables and other non-source files of a program from the program's source fil

    Makefile::Parser 0.11 (by Agent Zhang)
    Makefile::Parser is a Simple Parser for Makefiles.

    SYNOPSIS

    use Makefile::Parser;

    $parser = Makefile::Parser->new;

    texmake 0.1 (by Gregor Maier)
    texmake are a Makefile and a script to handle the generation of latex documents (using pdflatex as primary method)

    Konstruct 20061022 (by Konstruct Team)
    "Konstruct" is a build system which helps you to install KDE releases and applications on your system

    instool 0.9.4 (by jem)
    instool is a small installation program that will install tar.gz packages and create uninstall information for later use

    Smake 1.2a39 (by J?rg Schilling)

    ln_local 1.1.1 (by Philippe Brochard)
    ln_local is a simple shell script for managing the installation of software packages (typically in /usr/local)

    Libungif 4.1.3 (by Toshio Kuratomi)
    libungif is a library for reading and writing gif images

    Prime Mover 0.1 (by David Given)
    Prime Mover is a build tool, not unlike make

    fhp 0.2.0 RC1 (by Christian Neukirchen)
    fhp is a set of m4 macros for creating Web pages that conform to GNU standards


    Other software in this category

    Flat Assembler 1.67 (by Tomasz Grysztar)
    The flat assembler is a fast and efficient self-assembling 80x86 assembler for DOS, Windows, and Linux operating systems

    RetroForth 9.2.10 (by Charles Childers)
    RetroForth is a compact, open source Forth development system

    GNU 8085 Simulator 1.2.91 (by Sridhar R)

    ProjectCenter 0.4.2 (by Philippe C.D. Robert)
    ProjectCenter is GNUstep's integrated developement environment (IDE)

    KMD 0.9.19 (by Charlie Brej)
    KMD is a graphical debugger written by me for The University of Manchester Computer Science Department.

    It can debug hardware over

  •     search


    Featured Software

    jEdit 4.3 pre8
    jEdit is an Open Source text editor written in Java

    Opera 9.02
    Surf the Internet in a safer, faster, and easier way with Opera browser

    GNU Aspell 0.60.4
    GNU Aspell is a Free and Open Source spell checker designed to eventually replace Ispell


    Subscribe in Rojo
    Google Reader
    Add to My Yahoo!

    Add to My AOL
    Subscribe with Bloglines
    Subscribe in NewsGator Online
    Add 'nixbit linux software' to Newsburst from CNET News.com
    del.icio.us nixbit linux software


    Top tags