[Libreoffice] how to 'make' a single target?

Bjoern Michaelsen bjoern.michaelsen at canonical.com
Sat Oct 29 18:29:34 PDT 2011


On Sat, Oct 29, 2011 at 06:17:09PM -0400, Kevin Hunter wrote:
> I'm currently working in the sc/ module, and I'm in the "make small
> change, re-compile, make small change, re-compile" stage.  This is
> proving very cumbersome, however, as I'm unable to re-make just the
> affected files.  For instance, note my attached output, showing the
> output of
> $ make -j1 | head; sleep; make -j1 | head

The attached output indeed should never happen. What file did you touch to
generate it?

> Should not at least the first 3 completed executions no longer need
> to be re-executed?

Yes. Could you check the timestamps of
being newer than
and that again being newer than
, please?

> Are there any pointers for me on how I can compile _just the exact_
> piece of code on which I'm working (and affected other snippets, of
> course)?

You can build without unitchecks by doing a:
 (. ../Env.Host.sh && make build)
You make it ignore header dependencies by doing a:
 (. ../Env.Host.sh && make gb_FULLDEPS= build)
Then only objects get rebuild if you touched the cxx directly.
If you do a:
 (. ../Env.Host.sh && make gb_FULLDEPS= -W `readlink -f source/filter/dif/difexp.cxx` build)
only difexp.cxx gets recompiled and relinked, even if it wasnt directly



More information about the LibreOffice mailing list