Development Repositories and Build System
While the core of Pd is basically written by Miller Puckette, who takes patches from the Pd community, most of the Pd developer activity is outside of the core in the form of abstractions, external objects, GUI enhancements, APIs, etc. This is the key to what makes Pd so powerful: the wealth of code provided by the community built around a solid core.
So in order to bring all of the this together and create all-inclusive packages, the Subversion Repository was created. All developers who write code for or with Pd are encouraged to contribute their code to the repository and maintain their code there so that anyone can create an up-to-the-minute Pd install by downloading the code from the repository and compiling it using the build system of their platform.
In order to make sure your code gets distributed with the Pd installer packages, you need to add your files to the build system.
- Currently, you need to add your files to the abstractions/Makefile if you want it to be included in Pd-extended
- Any extra documentation goes in this directory. doc/pddp is the root of the PDDP files. Any kind of tutorial, manual, etc. is at home here.
- This section is for extensions to Pd itself, things like xgui or gripd which replace the GUI of Pd.
- The main externals build system is in externals/Makefile. You can copy and paste the template section in that file to create your own build system.
If you would like to create an installer build system for another
platform, then all of the files for that should go in a subdirectory of
packages. Currently in that directory, there is
planetccrma_rpmare in the works. The format of the subdirectory name is
OSname_packagetype. Darwin was chosen for MacOS X since that the name of the underlying BSD/UNIX OS. For GNU/Linux, the distro name is used.
- Any kind of script related to Pd goes in this section. There are some UNIX-style scripts like a SysV startup script, a bash completion script, etc., plus scripts that add in the building of Pd-extended