Changes between Version 11 and Version 12 of Building/Targets


Ignore:
Timestamp:
Mar 31, 2009 9:09:57 AM (6 years ago)
Author:
simonmar
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Building/Targets

    v11 v12  
    1  
    2 [[PageOutline]] 
    3  
    4 = Useful workflows and makefile targets = 
    5  
    6 This is intended as a short summary of how to do common tasks.  See also [wiki:Building/Using#StandardTargets], although that may not be fully up to date.  
    7  
    8 === Build or clean everything === 
    9  
    10 Do these things in the `$(TOP)` directory. 
    11  
    12  * '''Initialisation''': `sh boot; ./configure`, create `build.mk`.  See [wiki:Building/Using#Gettingthebuildyouwant the details], and more about [wiki:Building/Hacking controlling the build]. 
    13  
    14  * '''`make`'''.  This should make everything: the support utilities, stage1 compiler, libraries, and stage2 compiler. 
    15  
    16  The build system does not track cross-package dependencies, so it's possible that you could recompile one library, but another dependent library isn't recompiled, and you get link errors. 
    17  
    18  * '''`make clean`''', '''`make distclean`''': various levels of cleanery. 
    19    
    20 === Clean and rebuild just the compiler === 
    21  
    22 Do these things in the `$(TOP)/compiler` directory. 
    23  
    24   * `make clean stage=2`, `make boot stage=2`, `make stage=2`. This cleans, boots and builds the stage 2 compiler. You can do the same for the other stages. Note the first command is rarely necessary, and you normally don't need the second one either. 
    25  
    26 === Build libraries === 
    27  
    28 Do these things in `$(TOP)/libraries` directory. 
    29  
    30   * Build all libraries: `make` 
    31   * Build just the `foo` library: `make make.library.foo`. You need to `make remake.library.foo` if you need clean or reconfigure first, e.g. if you changed the module imports. 
    32   * Clean all libraries: `make clean` 
    33   * Clean just the `foo` library: `make clean.library.foo` 
    34  
    35 It's not possible to stop the build system from trying to build a boot library, other than fiddling with SUBDIRS in `libraries/Makefile`. 
    36  
    37 === Testing === 
    38  
    39  * Perform [wiki:TestingPatches validation before committing changes] 
    40  * Run the [wiki:Building/RunningTests test suite] 
    41  * Run the [wiki:Building/RunningNoFib nofib suite] 
    42  
     1This page is obsolete; please update links to point to [wiki:Building/Hacking], or another appropriate place.