The second main mode of VMake can be activated with the command line
option interactive. In this mode VMake loads all the
information required to build the working project only once and then waits for
additional input from the terminal. Multiple evaluations of different goals
are very fast because all dependence information is already in memory. Only
file modification times need to be requested for each run. The interactive
mode can be terminated with the command key . On termination
VMake stores all modified information of the projects in the project save
files. This mode allows fast interactive development because almost no
overhead due to description file parsing and information scanning
exists. Modified description files vmfile.mk are automatically reloaded and
dependences are rebuilt.
In interactive mode VMake executes command lines given by the user. The
command keys or
can be used to advise
VMake to display a short summary of all option. Typing an additional
command character will restrict the information to the command related to
this command. Interactive commands may be entered if the following prompt
is displayed by VMake:
3mm enter VMake commands [project project]:
All interactive commands are listed in Table 7.6.
Tabelle 7.6: Interactive commands of VMake
During the evaluation of dependences, VMake does not check for user
input. An exception is , which forces VMake to reenter the
interactive loop. After dependence checking is finished and all required
files have been queued for updating (see Section 8.1), VMake is
able to accept new commands, but will not execute them until all update
actions have been processed. In this case VMake shows the following
prompt:
3mm enter VMake commands (will be cached) [project project]: [jobs]
The list jobs consists of up to three numbers. The first number indicates how many update actions are currently executing, the second how many are ready and the last one how many are delayed because they have to wait for other update actions in their dependences.
The interactive loop of VMake is reentered: