The main idea for the directory tree is, that all generated output is placed somewhere below temporary or distribution. generated here means to be the output of a compile, a cp from another file, the result of an sed or awk script, the result of makeinfo or texi2dvi or whatever. All files, which can be reproduced automatically, or which are produced as a side effect of some actions should go into temporary or distribution.
distribution is used for results, which will be used later, when your package will be used. temporary is for interim results, which are use during the build process only.
This is not true for some exception:
As a consequence make clean does the following:
export siliconBrainTemporary := distribution\|temporary\|.*\.log$$\|TAGS\|.*~$$
...
-rm --force --recursive $$(ls | grep $$siliconBrainTemporary)
$siliconBrainTemporary is also used by other scripts, which want to exclude temporary files, like webify or publish.