[PD-dev] Re: [PD] building HID from the CVS, errors
Hans-Christoph Steiner
hans at eds.org
Wed Aug 9 23:18:21 CEST 2006
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
More information about the Pd-dev
mailing list