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.