[Libreoffice] how to 'make' a single target?
hunteke at earlham.edu
Sun Oct 30 16:17:44 PDT 2011
At 9:29pm -0400 Sat, 29 Oct 2011, Bjoern Michaelsen wrote:
> On Sat, Oct 29, 2011 at 06:17:09PM -0400, Kevin Hunter wrote:
>> This is proving very cumbersome, however, as I'm unable to re-make
>> just the affected files. For instance
>> $ make -j1 | head; sleep; make -j1 | head
> The attached output indeed should never happen. What file did you
> touch to generate it?
Between those two make runs? Nada. (That's why I showed it working in
one shell command line.) If you mean before I started the compile, I'd
touched a bunch of ScPostIt* related files in sc/inc and
However, I churned through the slow build time about 20 times last night
until I was finally able to build 'sc'. Now the behavior seems to be
correct, in that only the necessary files are actually built. I.e. I
can no longer recreate that behavior.
From the outside, it smells to me like there is a "transactional"
behavior defined in the make files. That is, if all the files of a
certain transaction don't get built properly, then the build redoes all
of them. Is that expected/intentional behavior? Or did I just hit some
corner case in my sc/ modifications?
>> Should not at least the first 3 completed executions no longer need
>> to be re-executed?
> Yes. Could you check the timestamps of
> (1) [...]/workdir/unxlngx6.pro/Dep/CxxObject/sc/source/filter/dif/difexp.d
> being newer than
> (2) [...]/workdir/unxlngx6.pro/CxxObject/sc/source/filter/dif/difexp.o
> and that again being newer than
> (3) [...]/sc/source/filter/dif/difexp.cxx
> , please?
Last night, (2) was newer than (1), (1) was newer than (3). Now, after
a couple of successful builds, (3) is newer than (2), which is newer
than (1). Summary ("<=" == "younger than"):
Before success: (2) <= (1) <= (3)
After success: (3) <= (2) <= (1)
In any event, since I can't recreate it anymore, and it seems to be
working fine, I'm moving on ...
More information about the LibreOffice