On Aug 9, 2006, at 4:57 PM, Frank Barknecht wrote:

Hallo,
Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:

But yet again, it seems to me a massive waste of time to build Yet
Another Build System.  How about instead making the existing one
better?

I agree with that, and I see IOhannes' and Thomas' wish for being able
to build smaller parts of the whole Pd-extended shebang as one
possible enhancement to the big build system.

What I mean is: Maybe there is a way to make the makefiles in the
various subdirectories also handle small builds? I don't really
understand how it currently works, but for example a single external
like hid.pd_linux has to be built anyways. So if I chdir to
/externals/hcs/hid the makefile maybe could get an additional target
so that I could call "make hid.pd_linux" there? I remember that it was
once that way, but currently it doesn't work anymore.

I guess offering both approaches could be possible as well? I mean,
even Debian manages to build thousands of packages decentralized and
package them into one big distribution. ;)

Note that I'm a complete idiot when it comes to make and
auto-whatever, I just understand enough to do educated guesses when
copy-and-pasting, that's it.

externals/hcs/hid/Makefile allows you do type things like:

make
make clean
make install

And it'll build [hid] and friends. That Makefile calls externals/ Makefile so that I only have to maintain one. That Makefile will also automatically set itself up if you stick into your CVS folder and there are targets of the same name in externals/Makefile. You can also see the same file in action here:

externals/deprecated/Makefile
externals/hcs/Makefile
externals/hcs/usbhid/Makefile
externals/bsaylor/Makefile
externals/corelibs/Makefile
externals/sigpack/Makefile

and more... But yes, this still depends on having packages/ Makefile.buildlayout, which is often erroneously referred to as "the whole directory layout". In reality, in order to build the externals with the Pd-extended build system, you need:

externals/
pd/
packages/Makefile.buildlayout

That doesn't seem like much of a burden to me. We've spent far more time discussing that pesty package/Makefile.buildlayout that it would have taken just to check it out wherever its needed. That is not to say that improvements can't be made. There is much that could be done, this is just the beginning. I think that it might make sense to have all of a library's targets in its own local file, which then includes other global files for global things. But that would take quite a bit of work to create.

.hc






_______________________________________________
PD-dev mailing list
[email protected]
http://lists.puredata.info/listinfo/pd-dev

Reply via email to