Confusion about building llvm/clang

In the instructions at it says that after the initial run of 'llvm/configure' and 'make' I can subsequentally build clang from the clang directory level. This makes sense, but does this work after I update both llvm and clang ?

Later on, however, the instructions say:

"Once you have checked out Clang into the llvm source tree it will build along with the rest of llvm. To build all of LLVM and Clang together all at once simply run make from the root LLVM directory."

This is confusing. I thought running 'make' from the clang directory level will build all of llvm and clang since clang depends on llvm. What am I missing here ?

Running make from tools/clang will only rebuild clang, even if some
files in llvm/ were changed and need to be rebuilt. This can lead to
an inconsistent build and weird errors. To be safe, to update the
working copy one should 'svn up' both repositories and run make in the
root build directory.


Since clang supposedly is synced to llvm, the getting started
instructions should never tell the end-user to run 'make' from
tools/clang if the needed parts of llvm are not rebuilt in that case.
Thanks for the heads up about this ! I always do update llvm and clang
at the same time to get the latest u0pdates and now I know always to run
'make' from the root build directory.