The compilation is performed per step. The step 0 corresponds to a setup ; each other one corresponds to a set of files that can be compiled independently and thus, simultaneously. With the incremental compilation facility you can specify various modes of the compilation part :
# Three compilation modes are possible : # full = full compilation (default value) # incr = incremental compilation (from a starting to an ending level) # off = No compilation at all # Choose compilation mode (full/incr/off) : # --------------------------------------- export ICS_ICFMODE=full # If you use the incremental compilation facility, select top and bottom levels: export ICS_START= export ICS_STOP= # Reduced starting list : cat <<end_of_reduced_starting_list> $GMKWRKDIR/.reduced_starting_list end_of_reduced_starting_list
ICS_ICFMODE=off
: the compilation part is completely skipped. This option is unsafe, unless you are completely sure
that all your object files are up to date.
ICS_ICFMODE=incr
: the compilation part is performed from the step ICS_START
to the step ICS_STOP
both
included. If ICS_START
is not specified GmkPack will determine it by itself. If ICS_STOP
is not specified GmkPack will
adopt the highest value (ie : the final step). A reduced list of source files can be specified from the list of source files of
the step ICS_START
, by filling the file $GMKWRKDIR/.reduced_starting_list
inside the script.
ICS_ICFMODE=full
: the compilation will run through all the steps. This is the default mode.
ICS_START
is not specified GmkPack will run through the step 0 anyhow. Then it will go to
the step where the previous compilation attempt failed, unless the pack content has changed in between.
ICS_START
to
ICS_STOP
: it is not possible to skip some intermediate steps. It is not possible to provide a discontinuous list of steps
because, due to the files dependencies, the (re)compilation of files of a given step may have consequences on the following steps.
If you do want to run the compilation through discontinuous lists of steps, then you should run successively as many compilation
scripts as necessary, each one with continuous lists of steps.