← Back to team overview

kicad-developers team mailing list archive

Re: Depndency tracking


I'd like to get rid of the recursive make calls too, it's not good
practise. For one thing when part of the build fails the overall make
doesn't fail, which is not ideal for automated package building.

Keep the recursive makefile. What should be lost is the "-k" option
that causes make to continue after a error. Having a Makefile in each
directory allows one to type "make" when you are in a lower level
directory editing files. For example I have some supporting libraries
and when in there I can run "make check" for an automated unit test.
Very good after making a change. But you are right make should fail
on an error.

This sounds like a nice feature, but I've only used it about 3 times out of the ~500 times that I have built Kicad.

The reason being is that the build is currently fast, since the build environment is very much to the point. And how long does it take for me, as a developer to compile one file and link?

So we both have the same concern here, fast builds. Me especially so since the edit, build, test cycle is repeated over and over.

I'll still argue for using GNU autoconf. The current method does not
scale. What happens if you want to build on a few more platforms?
At work My stuff needs to work on Linux (two different distributions)
and on Solaris 8 and Solaris 10 with GNU gcc (3x and 4x)and Sun's
"Studio 11" compiler. No way would I want to maintain multiple makefile.
I just list the files in Makefile.am and that's it. I find now that my code
will compile on platforms I've never seen before

For the linux makefile, we have several issues that would keep you busy for a long time:

1) DEBUG or not DEBUG defined (and that controls which wxWidgets library to link to)

2) Static or not static. This is important to me, since the link is faster when not linking static. JP Charras links static when doing a formal release.

3) The wxWidgets build or not build. Debug or not Debug. Where does the library come from on each platform?

4) The 3d library build or not build. Where does the library come from on each platform?

And this is just linux.

Where there is a will, there is a way. However, please don't consider it a success if we have to give up anything we have now. But as you originally said, you can do this in parallel with the current makefiles.

I just installed The new Mac OS X "Leopard". I'm going to see if
I can build Kicad on it now

What was wrong with the old version of OS X? What happens if someone else wants to build on that older platform, with or without the autoconf configure script?

Looks like it is pretty easy to get spread too thin around here, trying to support more than we have man-hours available to achieve. But you are the master of your own time, have fun. (I vowed personally to never spend another moment reading the GNU autoconf docs. Life is too short.)

I switched to Pervasive Jam on one of my projects. I'm moderately happy. Whatever you are used to, tends to win the day.


Follow ups