People will be tempted to put things there for convenience, thereby
causing conflicts similar to
http://thread.gmane.org/gmane.comp.compilers.clang.devel/35162/focus=35169
where it is conceivable that the LLVM developers could put a flag on
a target for convenience, which would cause conflicts for some downstreams.
Describe how to define a buildsystem of binary targets, how to
express dependencies between them, how to add build specifications,
how to specify usage requirements, transitive and compatible
propagation and the various pseudo targets.