The potential problem with the previous approach is that conditional builds
can easily use the wrong 'nest' value. In a structure like

    if (condition)
    {
        ...
        icmake -t.      // #1
    }

    ...

    icmake -t.          // #2

then if condition is true the compiled binary uses a 'nest' value which
becomes the 'next' value for #2 in a subsequent run if condition is false.

Situations like these can be prevented in the following approach (for
illustration I'm using my default path locations, like /usr/libexec/icmake and
/usr/bin:

    * In /usr/libexec/icmake a script icmake_t is defined
    * All 'icmake -t...' calls in icmake scripts are changed to
        /usr/libexec/icmake/icmake_t <nr> -t...
    *  /usr/libexec/icmake/icmake_t inspects wheter ICMAKE_T exists.
        if not, then it executes icmake -t..., which results in the original
        (= currently used) 'icmake' call.
    * If ICMAKE_T exists and its specified directory does not yet exists the
        directory is created.
    * If the dir's 'level' file doesn't yet exist it is created receiving 
        /usr/libexec/icmake/icmake_t's <nr> argument as its value
    * If the dir's 'level' file does exist .<nr> is appended to 'level'
    * 'icmake -t ...' is called, which either directly executes the binary in
        the subdirectory specified by 'level', or it creates that directory
        and writes the compiled version of the current script into that
        directory. 
    * Once the 'icmake -t...' call ends the icmake_t script either resets
        'level' to its original value or removes 'level', if it initially
        didn't exist.

      
    
