aboutsummaryrefslogtreecommitdiff
path: root/en_US.ISO8859-1/books/pmake/intro/chapter.xml
blob: b1cfcec3105d127a716511652b7d1da18796dbab (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
     PMake - A Tutorial

     $FreeBSD$
-->

<chapter id="intro">
  <title>Introduction</title>

  <para><application>PMake</application> is a program for creating other
    programs, or anything else you can think of for it to do.  The basic idea
    behind <application>PMake</application> is that, for any given system, be
    it a program or a document or whatever, there will be some files that
    depend on the state of other files (on when they were last modified).
    <application>PMake</application> takes these dependencies, which you must
    specify, and uses them to build whatever it is you want it to
    build.</para>

  <para><application>PMake</application> is almost fully-compatible with
    <application>Make</application>, with which you may already be familiar.
    <application>PMake</application>'s most important feature is its ability
    to run several different jobs at once, making the creation of systems
    considerably faster.  It also has a great deal more functionality than
    <application>Make</application>.</para>

  <para>This tutorial is divided into three main sections corresponding to
    basic, intermediate and advanced <application>PMake</application> usage.
    If you already know <application>Make</application> well, you will only
    need to skim <xref linkend="basics"/> (there are some aspects of
    <application>PMake</application> that I consider basic to its use that did
    not exist in <application>Make</application>).
    Things in <xref linkend="shortcuts"/> make life much easier, while those in
    <xref linkend="gods"/> are strictly for those who know what they are doing.
    <xref linkend="glossary"/> has definitions for the jargon I use and
    <xref linkend="answers"/> contains possible solutions to the problems
    presented throughout the tutorial.</para>
  </chapter>