[Libreoffice] how to 'make' a single target?
Bjoern Michaelsen
bjoern.michaelsen at canonical.com
Sat Oct 29 18:29:34 PDT 2011
Hi,
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
/home/kevin/devel/libreoffice/workdir/unxlngx6.pro/Dep/CxxObject/sc/source/filter/dif/difexp.d
being newer than
/home/kevin/devel/libreoffice/workdir/unxlngx6.pro/CxxObject/sc/source/filter/dif/difexp.o
and that again being newer than
/home/kevin/devel/libreoffice/sc/source/filter/dif/difexp.cxx
, 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
changed.
Best,
Bjoern
More information about the LibreOffice
mailing list