When MXP is requested to build a target, it recursively find all targets which the requested target depends on and checks whether these targets exist and are up-to-date. If any of required targets does not exist or is not up-to-date, this target and all subsequent targets that depend on it are rebuilt.
In order to understand whether an existing target is up-to-date, MXP analyzes the contents of
.mxp subdirectory of the target directory.
This subdirectory contains copies of the line of Makefile used to obtain this target and all scripts that were used. If anything is different from what should be used for the current run, the target is rebuild.