On Fri, Mar 21, 2014 at 07:19:44PM +0000, Isobel Knowles wrote:
On Thu, 20 Mar 2014 13:21:16 -0700 mathog <mathog@...1176...> wrote:
Lately I have noticed that when I come back to Inkscape on another day, modify a single cpp (today's was drawing-text.cpp) and "make" it starts rebuilding all sorts of things that would seem to be utterly unrelated. In fact, the build is so extensive it may well be a complete rebuild. Here is just a fraction of the things it compiled:
... CXX sp-mesh-gradient.o CXX sp-mesh-patch.o CXX sp-mesh-row.o CXX sp-object.o CXX sp-path.o CXX sp-pattern.o CXX sp-rect.o CXX sp-shape.o CXX sp-stop.o CXX sp-style-elem.o CXX sp-text.o CXX sp-tref.o CXX sp-tspan.o CXX sp-use.o CXX style.o ...
If the same file is later modified again, "make" the next time does the expected thing and just compiles that one file and then links everything.
Any idea why it is doing that? It almost seems like the Make files now have some concept of "old" object files and anything over a day old gets rebuilt.
Trunk 13168, Ubuntu 12.04.4 LTS
Configure was run with
export CPPFLAGS="-DWITH_SVG2" ./configure --disable-strict-build
Dear mathog,
I think this is an automake oddity (I remember this happening some years back), but to rule out other matters can you run this script instead of executing make (you can supply arguments as before):
I notice we have cmake as a secondary build system in the tree. Perhaps after 0.91 is done and out the door we should consider migrating fully over to cmake. I've had very good experience with it in other projects and it seems to handle dependencies a lot more sensibly IMHO.
I don't know what implication cmake has for windows or osx, but have a recollection that cmake works at least as well on those platforms as autoconf, and perhaps better?
Bryce