By default Plato will keep a table of dependent files in your project. For example, you might define a Fortran module in file M.f95 and use it in a file U.f95. In this case Plato will detect that U.f95 is dependent upon M.f95. If a change is made to M.f95 then, when building, Plato will recompile M.f95 because it has changed and then U.f95 because it is dependent upon M.f95. A similar situation arises when you use the INCLUDE statement in your code.
The "Clean" process does not rebuild the table of dependent files. However, Plato will reconstruct its dependency table when you select Rebuild Dependencies from the Build menu.
If your project contains a very large number of files you may wish to remove the overhead caused by using the dependency table. To do this toggle the menu item called Enable Dependency Checking which you will find on the main Project menu.
If the process of adding a file to a project takes a long time then this means that the resulting dependency relationship is too complex for Plato to handle. (For example, although Plato tests for INCLUDE files, it does not look for pre-processing commands such as CIF etc. A combination of CIF commands with INCLUDE could cause this kind of problem.) In such cases it is advisable to disable dependency checking and to use Rebuild in preference to Build.