Building llvm/clang from source: 'make update'


Just a quick question about compiling llvm/clang from source on Linux (Fedora 23):

(Im following the build guide located here: )

I remember there being, once upon a time, a ‘make update’ target, that performed a ‘svn update’ in all the right directories for you. However, this seems to be gone (no rule to make target ‘update’). Is there another way to quickly/easily update the entire source tree(s), or do I manually have to do ‘svn update’ in all the relevant directories ?

I couldnt find this info on the website, sorry if its in a FAQ or something.

  • Maarten.


I do not know anything about 'make update' but may have an alternative.
I quite successfully use the myrepos [1] tool to automate the update
process of my llvm source tree. You can update llvm and all subrepos
with a simple 'mr up' from the project root directory. It only needs to
be configured once.




That’s actually a pretty cool tool ! And it claims to work with all kinds of source code revision systems too. I didn’t even need to checkout the myrepos git repo, it is available as a rpm package for my Fedora 23 system. For setup you only need to run ‘mr register’ once in every checked out repository, and then ‘mr up’ in the top level dir does indeed check out all the lower level repo’s.

Thank you very much,

  • Maarten

"make update" was a feature in the Autoconf-ish makefiles, and hasn't
been ported to Cmake.
(one of the reasons I'm still using the Autoconf system).


You can svn update all targets in one line

svn up . tools/clang tools/clang/tools/extra


Such a target should not be too hard as cmake already knows which LLVM projects exists to build them.
As always, patches are welcome!