# Make doesn't capture changes in dependencies in external LLVM build

**URL:** <https://discourse.julialang.org/t/make-doesnt-capture-changes-in-dependencies-in-external-llvm-build/2403>\
**Category:** Internals & Design\
**Tags:** question\
**Created:** [March 2, 2017, 6:34am UTC](https://discourse.julialang.org/t/make-doesnt-capture-changes-in-dependencies-in-external-llvm-build/2403 "2017-03-02T06:34:53Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![singam-sanjay](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/singam-sanjay/32/1721_2.png) [@singam-sanjay](https://discourse.julialang.org/u/singam-sanjay)\
**Post date:** [March 2, 2017, 6:34am UTC](https://discourse.julialang.org/t/make-doesnt-capture-changes-in-dependencies-in-external-llvm-build/2403/1 "2017-03-02T06:34:53Z")

</div>

Hello,

Julia’s Makefile doesn’t capture the changes in it’s (external) llvm build. Rebuilding Julia by `make` or `make debug` didn’t consider the changes in the LLVM build.

How can I rebuild Julia to reflect these changes without starting from scratch ?

Thank You,  
Sanjay

---

<div class="post-metadata">

**Author:** ![yuyichao](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/yuyichao/32/20_2.png) [@yuyichao](https://discourse.julialang.org/u/yuyichao)\
**Post date:** [March 2, 2017, 1:35pm UTC](https://discourse.julialang.org/t/make-doesnt-capture-changes-in-dependencies-in-external-llvm-build/2403/2 "2017-03-02T13:35:40Z")

</div>

`make -C deps clean-llvm`

If you are using SVN build and want to upgrade it to a later version, also run `make -C deps upgrade-llvm`.

---

<div class="post-metadata">

**Author:** ![ihnorton](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ihnorton/32/26_2.png) [@ihnorton](https://discourse.julialang.org/u/ihnorton)\
**Post date:** [March 2, 2017, 1:40pm UTC](https://discourse.julialang.org/t/make-doesnt-capture-changes-in-dependencies-in-external-llvm-build/2403/3 "2017-03-02T13:40:19Z")

</div>

If you just have minor local changes to update, easiest option is to run ‘make install’ inside the llvm build directory itself, then build julia as usual.

---

<div class="post-metadata">

**Author:** ![singam-sanjay](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/singam-sanjay/32/1721_2.png) [@singam-sanjay](https://discourse.julialang.org/u/singam-sanjay)\
**Post date:** [March 2, 2017, 4:24pm UTC](https://discourse.julialang.org/t/make-doesnt-capture-changes-in-dependencies-in-external-llvm-build/2403/4 "2017-03-02T16:24:02Z")

</div>

> [@yuyichao](#):
>
> If you are using SVN build and want to upgrade it to a later version, also run `make -C deps upgrade-llvm`.

Do you mean that this command,

1. Updates the LLVM repo
2. rebuilds LLVM
3. rebuilds Julia ?

---

<div class="post-metadata">

**Author:** ![yuyichao](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/yuyichao/32/20_2.png) [@yuyichao](https://discourse.julialang.org/u/yuyichao)\
**Post date:** [March 2, 2017, 4:32pm UTC](https://discourse.julialang.org/t/make-doesnt-capture-changes-in-dependencies-in-external-llvm-build/2403/5 "2017-03-02T16:32:19Z")

</div>

It checkout latest svn version (through git) in LLVM SVN build, i.e. just “upgrade it to a later version”

---

<div class="post-metadata">

**Author:** ![jameson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jameson/32/23_2.png) [@jameson](https://discourse.julialang.org/u/jameson)\
**Post date:** [March 8, 2017, 7:24pm UTC](https://discourse.julialang.org/t/make-doesnt-capture-changes-in-dependencies-in-external-llvm-build/2403/6 "2017-03-08T19:24:57Z")

</div>

In recent (post v0.5 checkouts) you should be able to do `make -C deps reinstall-llvm` (or any other dependency name)

---

<div class="post-metadata">

**Author:** ![singam-sanjay](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/singam-sanjay/32/1721_2.png) [@singam-sanjay](https://discourse.julialang.org/u/singam-sanjay)\
**Post date:** [March 8, 2017, 7:47pm UTC](https://discourse.julialang.org/t/make-doesnt-capture-changes-in-dependencies-in-external-llvm-build/2403/7 "2017-03-08T19:47:52Z")

</div>

Hello @jameson,

This option’s updates and recompiles an internal LLVM installation. I’m using an external installation by setting LLVM\_CONFIG.

As a side question, I couldn’t find that option in deps/Makefile. How was it available to make then ?

Thank You,  
Sanjay Srivallabh

---

<div class="post-metadata">

**Author:** ![jameson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jameson/32/23_2.png) [@jameson](https://discourse.julialang.org/u/jameson)\
**Post date:** [March 8, 2017, 8:40pm UTC](https://discourse.julialang.org/t/make-doesnt-capture-changes-in-dependencies-in-external-llvm-build/2403/8 "2017-03-08T20:40:05Z")

</div>

Ah, ok - yes, that is why it part of why it is discouraged to override the default options with system libraries.

It’s included from tools/common.mk
