We have a multi component camkes application with each component using a few common services and then having application interfaces to a small number of other components.All these components are imported into a top level system description camkes file. Examining the generated camkes I see that all the generated header and source files have exactly the same make prerequisites meaning a change to logically unrelated components causes them all to be regenerated and recompiled. Now I have discovered the camkes cache this is less of an issue but is there a better way we can structure our application to reduce the edit-compile-go cycle ? Regards Gordon
Hi Gordon, There is no way you can structure things right now to avoid recompiling as currently all generated files just depend upon every CAmkES input file. As you have noticed, this means if you change any part of your system specification, you must regenerate every file. However, if you are changing the static source files of your components, this will not result in a re-generation. Theoretically re-generation (and the subsequent re-compilation) could be avoided, but the current structure of CAmkES makes this extremely difficult. The short explanation is that the templates that generate each file are arbitrarily stateful, and so one template executing differently (due to a CAmkES specification change) may result in any other template executing differently (the templates are essentially executed in a stable order). Adrian On Thu 30-Nov-2017 10:37 PM, Gordon Clark wrote:
We have a multi component camkes application with each component using a few common services and then having application interfaces to a small number of other components.All these components are imported into a top level system description camkes file.
Examining the generated camkes I see that all the generated header and source files have exactly the same make prerequisites meaning a change to logically unrelated components causes them all to be regenerated and recompiled.
Now I have discovered the camkes cache this is less of an issue but is there a better way we can structure our application to reduce the edit-compile-go cycle ?
Regards
Gordon
_______________________________________________ Devel mailing list Devel@sel4.systems https://sel4.systems/lists/listinfo/devel
participants (2)
-
Adrian.Danis@data61.csiro.au
-
Gordon Clark