shareable
This boolean flag controls output sharing. It defaults to true.
See object sharing for details.
When enabled for a rule, this rule's output files will end up in a location that is context-independent:
${build-dir}/objects/<filestem>.<hash>.<ext>
E.g., a source file some-module/foo.c would end up in ${build-dir}/objects/some-module/foo.<hash>.o.
When disabled, the output will end up in a builder and app specific location:
${bindir}/<file-path>/foo.o
The variable ${bindir} defaults to ${build-dir}/out/${builder}/${app}, so
e.g., a source file some-module/foo.c built for builder host and app bar
would end up in ${bindir}/out/host/bar/some-module/foo.o.
Example:
context:
- # ...
rules:
- name: MYRULE
shareable: false # disable object sharing for this rule
# ... possible other fields