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


Ignore:
Timestamp:
Oct 6, 2006 4:59:05 PM (8 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