gnu-make.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 22 Feb 2016 13:12:06 +0200
changeset 1908 0260f8ffef35
parent 1905 fba288d59662
child 1912 8b81a8f0f692
permissions -rw-r--r--
Generate single HTML build.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1299
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
     1
.. -*- coding: utf-8; -*-
1334
9bf0d5a1f0cf Include common header with quick links.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1301
diff changeset
     2
.. include:: HEADER.rst
1299
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
     3
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
     4
===========
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
     5
 GNU Make.
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
     6
===========
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
     7
.. contents::
1905
fba288d59662 Include only local subsections into TOC. This prevent duplication of
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
     8
   :local:
444
b9c1a39a9284 Fix CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 421
diff changeset
     9
1301
55aeffa6c8a5 Make docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1299
diff changeset
    10
Make docs.
55aeffa6c8a5 Make docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1299
diff changeset
    11
==========
1299
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    12
1301
55aeffa6c8a5 Make docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1299
diff changeset
    13
  http://make.paulandlesley.org/ http://mad-scientist.net/make/
55aeffa6c8a5 Make docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1299
diff changeset
    14
                Paul D. Smith page about make.
55aeffa6c8a5 Make docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1299
diff changeset
    15
  http://make.paulandlesley.org/autodep.html
55aeffa6c8a5 Make docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1299
diff changeset
    16
                Advanced Auto-Dependency Generation
1299
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    17
  http://miller.emu.id.au/pmiller/books/rmch/
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    18
                "Recursive Make Considered Harmful" home page.
1301
55aeffa6c8a5 Make docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1299
diff changeset
    19
  http://evbergen.home.xs4all.nl/nonrecursive-make.html
55aeffa6c8a5 Make docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1299
diff changeset
    20
                Implementing non-recursive make.
55aeffa6c8a5 Make docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1299
diff changeset
    21
  http://www.electric-cloud.com/resources/mrmake.php
55aeffa6c8a5 Make docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1299
diff changeset
    22
                Ask Mr. Make
1299
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    23
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    24
How view list of default make definitions.
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    25
==========================================
444
b9c1a39a9284 Fix CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 421
diff changeset
    26
b9c1a39a9284 Fix CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 421
diff changeset
    27
  $ make -p -f /dev/null
465
c05098683721 Available build tools.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 444
diff changeset
    28
1299
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    29
GNU Make Standard Library.
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    30
==========================
495
d2ff426ea714 GNU Make Standard Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 465
diff changeset
    31
d2ff426ea714 GNU Make Standard Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 465
diff changeset
    32
  http://gmsl.sourceforge.net
d2ff426ea714 GNU Make Standard Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 465
diff changeset
    33
                home page
d2ff426ea714 GNU Make Standard Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 465
diff changeset
    34
1299
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    35
GNU Make configuration.
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    36
=======================
514
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    37
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    38
Put on top of your Makefile:
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    39
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    40
  # Disable built in pattern rules.
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    41
  MAKEFLAGS += -r
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    42
  # Disable built in variables.
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    43
  MAKEFLAGS += -R
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    44
  # Disable built in suffix rules.
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    45
  .SUFFIXES:
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    46
  # Default target.
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    47
  .DEFAULT_GOAL = all
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    48