[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