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