gnu-make.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 30 Jan 2017 00:44:30 +0200
changeset 2075 ccaa2f364422
parent 1912 8b81a8f0f692
permissions -rw-r--r--
Improve page formatting.
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; -*-
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
     2
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
 GNU Make.
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
     5
===========
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
     6
.. contents::
1905
fba288d59662 Include only local subsections into TOC. This prevent duplication of
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1334
diff changeset
     7
   :local:
444
b9c1a39a9284 Fix CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 421
diff changeset
     8
2075
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
     9
GNU Make documentation
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    10
======================
1299
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    11
2075
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    12
http://make.paulandlesley.org/ http://mad-scientist.net/make/
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    13
  Paul D. Smith page about make.
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    14
http://make.paulandlesley.org/autodep.html
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    15
  Advanced Auto-Dependency Generation
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    16
http://miller.emu.id.au/pmiller/books/rmch/
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    17
  "Recursive Make Considered Harmful" home page.
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    18
http://evbergen.home.xs4all.nl/nonrecursive-make.html
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    19
  Implementing non-recursive make.
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    20
http://www.electric-cloud.com/resources/mrmake.php
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    21
  *Ask Mr. Make*. Series of article on tricks with GNU Make.
1299
ec63524d2b90 Split info about GNU Make and build tools. Convert to RST syntax.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 899
diff changeset
    22
2075
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    23
Debugging GNU Make
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    24
==================
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    25
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    26
How view list of default make definitions::
444
b9c1a39a9284 Fix CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 421
diff changeset
    27
b9c1a39a9284 Fix CR/LF ==> LF.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 421
diff changeset
    28
  $ make -p -f /dev/null
465
c05098683721 Available build tools.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 444
diff changeset
    29
2075
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    30
GNU Make configuration
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    31
======================
495
d2ff426ea714 GNU Make Standard Library.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 465
diff changeset
    32
2075
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    33
There are defaults that enrich behavior of GNU Make::
514
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    34
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    35
  # Disable built in pattern rules.
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    36
  MAKEFLAGS += -r
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    37
  # Disable built in variables.
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    38
  MAKEFLAGS += -R
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    39
  # Disable built in suffix rules.
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    40
  .SUFFIXES:
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    41
  # Default target.
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    42
  .DEFAULT_GOAL = all
8d0977618c01 GNU Make configuration.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 495
diff changeset
    43
2075
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    44
GNU Make Standard Library
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    45
=========================
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    46
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    47
http://gmsl.sourceforge.net
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    48
  home page
ccaa2f364422 Improve page formatting.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1912
diff changeset
    49