Hello,
Currently I am working on a one-size-fits-all build method for Pd libs. It is meant to take the template Makefile concept to a next level. The template is a great help for building Pd libs but it has a few limitations:
1. source and rule definitions are together in a single file so it is a pain to upgrade Makefiles to a new template version
2. the template can not handle multiple source files for multiple class executables
3. implicit dependencies (headers) aren't checked
Makefile.pdlibbuilder overcomes these limitations. It functions as an include in a Makefile which defines sources for classes. For non-clean build of target all, Makefile.dependencies is generated. A (re)build of individual classes can be forced alternatively.
Makefile.pdlibbuilder is in an early stage of development. I've spent much time sorting out the best approach for multiple-source-per-executable procedures. This is working fine now. By way of test I used the method to compile all tilde classes in cyclone, which are all multiple-source. It worked right away without a single gcc error. This is promising enough for me to continue the effort.
My aim is to make it a user-friendly method for building individual libs against any of the 'Pd-flavours', while at the same time integrating with Pd-extended's unified build system. There's aspects I can't figure out on my own, some due to my lack of knowledge, some because they need discussion to make decisions.
My first issue is with the default install path for a Pd lib. In the template Makefile it's definition boils down to /usr/local/lib/pd-externals/, except for OSX where it is ~/Library/Pd. The path is overruled by Pd-extended's central Makefile, but when building an isolated lib you get this default (which you can eventually overrule yourself). For one thing, I'm not fond of Makefiles installing stuff deep in a file system, so I would consider issuing a warning message or prompt for such a case. Apart from that, the question is to which extent the default makes sense at all. I found this overview of standard search paths for Pd externals:
http://puredata.info/docs/faq/how-do-i-install-externals-and-help-files
Are these search paths valid in 'all Pd flavours' (vanilla, extended, L2Ork)?
By the way I don't want to clutter Pd-dev list with attachments but if anyone is interested I'd be happy to send Makefile.pdlibbuilder in it's current pre-pre-alpha state.
Katja