A build project prefix ("build.") was introduced in 499f73da1 to separate build
files from host and build targets when cross compiling subprojects.
Additional work was done in 83fba12da. However, this prefix was missing from
some places:
- for generated files, with or without `build_subdir`: those files were
generated at the same place for both host and build targets.
- for include dirs: was erroring if it was only available in the build
tree.
- for subdirs
- for generated ast
Additionally, extra_build_dirs were double-prefixed.