[Vm-dev] build.macos32x86/pharo.cog.spur and dependency tracking

Holger Freyther holger at freyther.de
Sat Aug 26 15:55:16 UTC 2017


> On 25. Aug 2017, at 23:59, Eliot Miranda <eliot.miranda at gmail.com> wrote:
> 
> 
> Hi Holger,


Hey Eliot,

> Clearly it isn't.  If it does always link then it's a bug.  But beware; there needs to be dependencies on things like the makefile, plugins.int, etc to get things to be remade when things change.  I remember I had difficulties here when I was first using the makefiles.  So if you try and fix this check that you can move some plugin from plugins.int to plugins.ext and vice verse and the relevant files do get rebuilt appropriately.


"re-linking" was not the right word for the internal plugin but a new ar archive is created all the time? It seems it is because the rule is forced to re-execute

Makefile.vm:

$(OBJDIR)/%.lib: FORCE
...


I understand why more is re-built than necessary but I do wonder about why was a recursive system chosen? I wanted to propose to write a %.lib.d dependency but it might depend more on than just the .c .d and Makefile.plugin so I would have to duplicate logic into Makefile.vm. Just removing the FORCE (and being aware of the potential issues) cuts the build time on a clean directory in half. Would you have objections to make it a non-recursive build?


have a nice weekend

	holger


More information about the Vm-dev mailing list