47 lines
2 KiB
Text
47 lines
2 KiB
Text
<!--
|
|
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>
|
|
|
|
<!--
|
|
Local Variables:
|
|
mode: sgml
|
|
sgml-indent-data: t
|
|
sgml-omittag: nil
|
|
sgml-always-quote-attributes: t
|
|
sgml-parent-document: ("../book.sgml" "chapter")
|
|
End:
|
|
-->
|