People often have rules for generating addiction, but they really aren't needed.
The first time a project is built, no dependencies are required, since it creates all sources anyway. Only subsequent builds require dependencies on the previous build in order to discover what needs to be rebuilt.
Therefore, dependencies are indeed a byproduct of compilation. Your rules should look like this:
As a side note, mkdir -p not parallel, friendly. For example, when two or more processes are involved in creating /a/b/c/ and /a/b/cc/ , when /a/b/ does not exist, one mkdir process may fail with EEXIST trying to create /a/b/ .
source share