Stefan Sperling stsp at
Sun Sep 3 20:36:52 CEST 2006

On Sun, Sep 03, 2006 at 06:54:34PM +0200, Vapula wrote:
> Hi,
> So, please find attached a small script that adds the capability to execute
> a Makefile.uClinux if it exists, otherwise uses the regular Makefile.

I sort of like it, even though it is not 100%  how uClinux is doing
things, and there are better solutions, IMHO.

So far, we've tried to use a uClinux-like build model for new apps
that we've added. We haven't really been successful at this in
retrospect, given that in vanilla uClinux, you will not find highly
complex Makefiles generated automatically and made to work by hacking
them all over the place.

I'd prefer the following, but it is too much work to do
this with CVS, now that things are already in place:

We put the code of an application into user/<app>/src/
(for libraries this would of course be lib/<library>/src/)
and have user/<app>/Makefile that basically does what your
Makefile.uClinux is doing. Then we can also have user/<app>/obj/
for binaries generated during the build and other nice directories.

Changing to this scheme should be relatively painless in svn
(and possibly git). But it is completely impractical in CVS,
since we'd break a lot of history by moving directories and files
around like that. Plus we have to move them on several branches.

Should we adapt a new sceme, I'm in favour of moving all applications
over to the new scheme (whatever it will be), in order to have more
consistency in the tree. The current situation is a bit of a mess.
For some ports we have modifed upstream Makefiles, for some we wrote
new Makefiles (e.g. mpc and nano). Of course, care should be taken not
to "convert" apps that already came with uClinux.

I guess that in the long term, moving away from CVS is inevitable for
us, since our tree is very large and CVS keeps getting in the way
of huge changes. There were already other complaints about CVS, and I
don't really like it either.

Anyway, thanks for bringing this up. We should consider this point when
deciding on a new version control system. I think that git sounds
interesting, but I don't know yet whether it will be able to do help us
with the above. But I guess it will, else Torvalds bashing CVS all the
time would just be ridiculous.

stefan                                 PGP Key: 0xF59D25F0

More information about the dslinux-devel mailing list