<div dir="auto"><div class="gmail_extra" dir="auto"><div class="gmail_quote">On 11-Feb-2017 18:32, "Sébastien Wilmet" <<a href="mailto:swilmet@gnome.org" target="_blank">swilmet@gnome.org</a>> wrote:<blockquote class="m_8383413461389982237quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="m_8383413461389982237quoted-text">
> and it will only recompile/relink the bits that have changed, and<br>
> nothing else. It will be very very fast in most cases.<br>
<br>
</div>It'll also relink all the tests and rebuild the docs (GTK-Doc is very<br>
slow).<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Fwiw, it won't rebuild the docs since that is done at install time, not at compile time. It also won't relink all the tests if you specify a target (an executable, library, etc) to build. You can also rebuild a specific file by specifying the corresponding .o file, and I'm sure that can be made more convenient with a wrapper tool.</div><div dir="auto"><br></div><div dir="auto">I think your use-case can even be improved by writing such a tool that will rebuild only a specific file. This would actually be faster than make even because it wouldn't relink anything in that directory unless you want it to. </div><div dir="auto"><br></div><div dir="auto">Would you like to take a shot at it? It's really simpler than it might seem. Just a matter of reading the compiler db (json file) and calling ninja with the right argument. :)</div><div dir="auto"><br></div><div dir="auto">IMO this is one of the major advantages of Meson. It actually provides an API that you can use to support and even improve your custom workflows.</div><div dir="auto"><br></div><div dir="auto">Cheers,</div><div dir="auto">Nirbheek</div><div class="gmail_extra" dir="auto"><div class="gmail_quote"><blockquote class="m_8383413461389982237quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div></div></div>