Changes between Version 5 and Version 6 of Attic/Building/BuildSystem


Ignore:
Timestamp:
Oct 6, 2006 4:59:05 PM (9 years ago)
Author:
alexey
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Attic/Building/BuildSystem

    v5 v6  
    6666   consists of a large quantity of standard
    6767   {{{Makefile}}} code.  We discuss this
    68    boilerplate in more detail in <xref linkend="sec-boiler"/>.
    69 
    70   Before the {{{include}}} statement, you
    71   must define the {{{make}}} variable
    72   {{{TOP}}}
    73   to be the top-level directory of the source tree, containing
    74   the {{{mk}}}
    75   directory in which the {{{boilerplate.mk}}}
    76   file is.  It is ''not'' OK to simply say
     68   boilerplate in more detail in [[ref(The {{{mk/boilerplate.mk}}} file)]].
     69   [[br]][[br]]
     70   Before the {{{include}}} statement, you
     71   must define the {{{make}}} variable
     72   {{{TOP}}}
     73   to be the top-level directory of the source tree, containing
     74   the {{{mk}}}
     75   directory in which the {{{boilerplate.mk}}}
     76   file is.  It is ''not'' OK to simply say
    7777
    7878  {{{
     
    239239      {{{target.mk}}} has a rule that looks
    240240      like this:
    241 
    242241   {{{
    243242$(HS_PROG) : $(OBJS)
    244243         $(HC) $(LD_OPTS) $< -o $@
    245244}}}
    246 
    247     If this rule was in
    248     {{{boilerplate.mk}}} then
    249     {{{$(HS_PROG)}}}
    250     and
    251     {{{$(OBJS)}}}
    252     would not have their final values at the moment
    253     {{{make}}} encountered the rule.  Alas,
    254     {{{make}}} takes a snapshot of their
    255     current values, and wires that snapshot into the rule.
    256     (In contrast, the commands executed when the rule
    257     "fires" are only substituted at the moment
    258     of firing.)  So, the rule must follow the definitions
    259     given in the {{{Makefile}}} itself.
     245      If this rule was in
     246      {{{boilerplate.mk}}} then
     247      {{{$(HS_PROG)}}}
     248      and
     249      {{{$(OBJS)}}}
     250      would not have their final values at the moment
     251      {{{make}}} encountered the rule.  Alas,
     252      {{{make}}} takes a snapshot of their
     253      current values, and wires that snapshot into the rule.
     254      (In contrast, the commands executed when the rule
     255      "fires" are only substituted at the moment
     256      of firing.)  So, the rule must follow the definitions
     257      given in the {{{Makefile}}} itself.
    260258    * Unlike pattern rules, ordinary rules cannot be
    261259      overriden or replaced by subsequent rules for the same