[PD-cvs] abstractions Makefile,1.6,1.7 README,1.3,1.4
Hans-Christoph Steiner
eighthave at users.sourceforge.net
Wed Nov 16 19:23:49 CET 2005
Update of /cvsroot/pure-data/abstractions
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2511
Modified Files:
Makefile README
Log Message:
added MYLIBRARY_NAME variables
Index: README
===================================================================
RCS file: /cvsroot/pure-data/abstractions/README,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** README 16 Nov 2005 06:22:55 -0000 1.3
--- README 16 Nov 2005 18:23:47 -0000 1.4
***************
*** 1,2 ****
--- 1,3 ----
+
Collection of abstractions for Pd
=================================
***************
*** 6,41 ****
order to be implemented. Instead of reimplementing these higher level concepts
again and again, this collection of abstractions try to establish a layer of
! Pd abstractions that should grow into a reusable library that can be shared by
! Pd users.
What kind of abstractions?
==========================
! One of the problems with organizing all this is the vague definition of
! "abstraction" and "external". "application" and "object" are much more
! useful distinctions. Therefore, there are two sections to the build system,
! one for Pd patches which are objects, and another for Pd patches that are
! "applications" (also examples, demos, etc.).
- How to add your abstractions ?
- ==============================
! First rule for adding an abstraction is that it is written in Pd, without
! using externals whenever possible. Otherwise, it should work with the
! Pd-extended builds.
You can either send your abstraction with the request for adding it to the
! pd-dev list, or if you are a Pd developer already, you can add them by
! yourself.
- If you have questions about how, feel free to ask.
- I hope that we can come up with a style guide for abstractions at some point,
- but we need to gather experience how this should look like before.
Explanations of Terms
=====================
$(APPLICATIONS_DEST):
If your project is an application or patch that is meant to be run
directly, then it should go into this directory in its own subdirectory.
--- 7,102 ----
order to be implemented. Instead of reimplementing these higher level concepts
again and again, this collection of abstractions try to establish a layer of
! Pd abstractions that are reusable libraries that can be shared by Pd users.
!
What kind of abstractions?
==========================
! One of the problems with organizing all this is the vague definition of
! "abstraction" and "external". "application" and "object" are much more useful
! distinctions. Therefore, there are two sections to the build system, one for
! Pd patches which are objects, and another for Pd patches that are
! "applications" (also examples, demos, etc.).
! Criteria for Adding Patches
! ===========================
!
! Patches that are added to this section ideally should be written using only
! core Pd objects, without using externals whenever possible. If that if not
! possible, then it should work with the externals included with the Pd-extended
! builds.
You can either send your abstraction with the request for adding it to the
! pd-dev list, or if you are a member of the SourceForge project already, you
! can add them by yourself.
!
! If you have questions, please post them to the pd-dev list. You can find all
! of the mailing lists here: http://puredata.org/community/lists
!
! We are working on a style guide, you can see the current rendition in CVS in
! doc/pddp/pddp_style_guide.pd
!
!
! How to add your library of patches
! ==================================
!
! The best way to start is to copy the complete section of an existing library,
! like memento. Then do a case-preserving search-and-replace, replacing
! "memento" with the name of your library. Editors such as emacs will make the
! replacements will preversing the case of the text it is replacing. For
! example, replacing "memento" with "mylibrary" will make these changes:
!
! MEMENTO_NAME = memento
! objects_memento:
!
! to this:
!
! MYLIBRARY_NAME = mylibrary
! objects_mylibrary:
!
! If your editor does not do this, you will need to do two separate
! search-and-replace actions, one for all lowercase, and another for all
! uppercase.
!
! Once you have your section setup after the search-and-replace, you need to
! edit the paths of the files that you want to include. The paths will be the
! only text written out. All of the installation paths will be Makefile
! variables. Check the below example:
!
! install -d $(HELP_DEST)/$(MEMENTO_NAME)
! install -p $(ABSTRACTIONS_SRC)/rradical/memento/*-help.pd \
! $(HELP_DEST)/$(MEMENTO_NAME)
!
! becomes:
!
! install -d $(HELP_DEST)/$(MYLIBRARY_NAME)
! install -p $(ABSTRACTIONS_SRC)/mylibrary/*-help.pd \
! $(HELP_DEST)/$(MYLIBRARY_NAME)
!
!
! Also, since it is common to store the help patches in the same directory as
! the object patchs, you can use this pattern to exclude the help patches from
! being copied to $(OBJECTS_DEST):
!
! install -p $(shell ls -1 $(ABSTRACTIONS_SRC)/mylibrary/*.pd | \
! grep -v '\-help.pd') $(OBJECTS_DEST)/$(MYLIBRARY_NAME)
!
Explanations of Terms
=====================
+ MYLIBRARY_NAME = mylibrary
+
+ At the top of each library's section in the Makefile, you will see a
+ variable MYLIBRARY_NAME. This variable is the name used to install the
+ abstractions. This should be all lowercase since its used in the loading
+ of objects within Pd (e.g. [mylibrary/myobject]).
+
+
$(APPLICATIONS_DEST):
+
If your project is an application or patch that is meant to be run
directly, then it should go into this directory in its own subdirectory.
***************
*** 46,59 ****
appropriate in directory names.
- $(OBJECTS_DEST):
- If your project consists of objects that are meant to be reused in other
- patches rather than used as a application, then they should go into this
- directory.
-
- They should be in a directory with a distinct name. This will be the name
- of your library of objects, which can be added to the path, or called
- directly (e.g. [mylibrary/myobject]).
-
- The subdirectory name (e.g. mylibrary) should always be all lowercase.
$(DOCS_DEST):
--- 107,110 ----
***************
*** 64,68 ****
--- 115,121 ----
The subdirectory name (e.g. mylibrary) should always be all lowercase.
+
$(MANUALS_DEST):
+
If you have any other kinds of documentation, like a text or HTML manual,
or a Pd-based tutorial, then it should go into this directory, again in a
***************
*** 73,77 ****
The subdirectory name (e.g. mylibrary) should always be all lowercase.
! "objects" target:
To add your objects to this build system, first make your own target and
add it to the "objects" target. For example: for the RRADical objects,
--- 126,144 ----
The subdirectory name (e.g. mylibrary) should always be all lowercase.
!
! $(OBJECTS_DEST):
!
! If your project consists of objects that are meant to be reused in other
! patches rather than used as a application, then they should go into this
! directory.
!
! They should be in a directory with a distinct name. This will be the name
! of your library of objects, which can be added to the path, or called
! directly (e.g. [mylibrary/myobject]).
!
! The subdirectory name (e.g. mylibrary) should always be all lowercase.
!
!
! "objects" targets
To add your objects to this build system, first make your own target and
add it to the "objects" target. For example: for the RRADical objects,
***************
*** 80,84 ****
and any other documentation.
! "applications" target:
This target is meant for any patch that is intended to be opened up and
used, played, ran, etc. The RRADical showcase is a good example
--- 147,152 ----
and any other documentation.
!
! "applications" targets:
This target is meant for any patch that is intended to be opened up and
used, played, ran, etc. The RRADical showcase is a good example
Index: Makefile
===================================================================
RCS file: /cvsroot/pure-data/abstractions/Makefile,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** Makefile 16 Nov 2005 16:56:01 -0000 1.6
--- Makefile 16 Nov 2005 18:23:47 -0000 1.7
***************
*** 1,2 ****
--- 1,3 ----
+ #==============================================================================#
#
# Centralized build system for "abstractions".
***************
*** 4,7 ****
--- 5,9 ----
# see README for instructions <hans at at.or.at>
#
+ #==============================================================================#
# these are setup to be overridden by the packages/*/Makefiles
***************
*** 14,20 ****
include Makefile.dirs
! #------------------------------------------------------------------------------#
# OVERARCHING BUILD TARGETS
! #------------------------------------------------------------------------------#
final_setup:
--- 16,24 ----
include Makefile.dirs
! #==============================================================================#
! #
# OVERARCHING BUILD TARGETS
! #
! #==============================================================================#
final_setup:
***************
*** 29,133 ****
! #------------------------------------------------------------------------------#
# PROJECT TARGETS
! #------------------------------------------------------------------------------#
! #------------------------------
# GYRE
objects_gyre:
! install -d $(OBJECTS_DEST)/gyre
install -p $(ABSTRACTIONS_SRC)/audionerd/GYRE/gyre.*.pd \
! $(OBJECTS_DEST)/gyre
! install -d $(MANUALS_DEST)/gyre
install -p $(ABSTRACTIONS_SRC)/audionerd/GYRE/gyre.html \
! $(MANUALS_DEST)/gyre
applications_gyre:
! install -d $(APPLICATIONS_DEST)/gyre
install -p $(ABSTRACTIONS_SRC)/audionerd/GYRE/gyre.pd \
! $(APPLICATIONS_DEST)/GYRE
! #------------------------------
# keyboardkeys
objects_keyboardkeys:
! install -d $(OBJECTS_DEST)/keyboardkeys
! install -p $(ABSTRACTIONS_SRC)/keyboardkeys/keyboardkeys/*.pd \
! $(OBJECTS_DEST)/keyboardkeys
! install -d $(HELP_DEST)/keyboardkeys
! install -p $(ABSTRACTIONS_SRC)/keyboardkeys/doc/*-help.pd \
! $(HELP_DEST)/keyboardkeys
applications_keyboardkeys:
! install -d $(APPLICATIONS_DEST)/keyboardkeys
! install -p $(ABSTRACTIONS_SRC)/keyboardkeys/keyboard_main.pd \
! $(APPLICATIONS_DEST)/keyboardkeys
! #------------------------------
# la-kitchen
objects_la-kitchen:
! install -d $(OBJECTS_DEST)/la-kitchen
install -p $(shell ls -1 $(ABSTRACTIONS_SRC)/La-kitchen/*.pd | \
! grep -v '\-help.pd') $(OBJECTS_DEST)/la-kitchen
! install -d $(HELP_DEST)/la-kitchen
install -p $(ABSTRACTIONS_SRC)/La-kitchen/*-help.pd \
! $(HELP_DEST)/la-kitchen
! install -d $(MANUALS_DEST)/la-kitchen
install -p $(ABSTRACTIONS_SRC)/La-kitchen/readme.txt \
! $(MANUALS_DEST)/la-kitchen
! #------------------------------
# memento
objects_memento:
! install -d $(OBJECTS_DEST)/memento
install -p $(shell ls -1 $(ABSTRACTIONS_SRC)/rradical/memento/*.pd | \
! grep -v '\-help.pd') $(OBJECTS_DEST)/memento
! install -d $(HELP_DEST)/memento
! install -p $(ABSTRACTIONS_SRC)/rradical/memento/*-help.pd $(HELP_DEST)/memento
! install -d $(MANUALS_DEST)/memento
install -p $(ABSTRACTIONS_SRC)/rradical/memento/tutorial/*.* \
! $(MANUALS_DEST)/memento
! install -d $(APPLICATIONS_DEST)/memento_tutorial
install -p $(ABSTRACTIONS_SRC)/rradical/memento/examples/*.* \
! $(APPLICATIONS_DEST)/memento_tutorial
! #------------------------------
# nqpoly
! objects_nqpoly:
! install -d $(OBJECTS_DEST)/nqpoly~
! install -p $(shell ls -1 $(ABSTRACTIONS_SRC)/nqpoly/nqpoly~/*.pd | \
! grep -v '\-help.pd') $(OBJECTS_DEST)/nqpoly~
! install -d $(OBJECTS_DEST)/nqpoly4
! install -p $(shell ls -1 $(ABSTRACTIONS_SRC)/nqpoly/nqpoly4/*.pd | \
! grep -v '\-help.pd') $(OBJECTS_DEST)/nqpoly4
! install -d $(HELP_DEST)/nqpoly~
! install -p $(ABSTRACTIONS_SRC)/nqpoly/nqpoly~/*.pd $(HELP_DEST)/nqpoly~
! install -d $(HELP_DEST)/nqpoly4
! install -p $(ABSTRACTIONS_SRC)/nqpoly/nqpoly4/*.pd $(HELP_DEST)/nqpoly4
install -d $(MANUALS_DEST)/nqpoly
install -p $(ABSTRACTIONS_SRC)/nqpoly/*.html $(MANUALS_DEST)/nqpoly
install -p $(ABSTRACTIONS_SRC)/nqpoly/nqpoly~/readme.txt \
$(MANUALS_DEST)/nqpoly/nqpoly~.txt
! install -d $(APPLICATIONS_DEST)/nqpoly~
install -p $(shell ls -1 $(ABSTRACTIONS_SRC)/nqpoly/nqpoly~/*.pd | \
! grep -v '\-help.pd') $(APPLICATIONS_DEST)/nqpoly~
! install -d $(APPLICATIONS_DEST)/nqpoly4
! install -p $(shell ls -1 $(ABSTRACTIONS_SRC)/nqpoly/nqpoly4/*.pd | \
! grep -v '\-help.pd') $(APPLICATIONS_DEST)/nqpoly4
! #------------------------------
# nusmuk
objects_nusmuk:
! install -d $(OBJECTS_DEST)/nusmuk
install -p $(shell ls -1 $(ABSTRACTIONS_SRC)/nusmuk/*.* | \
! grep -v '\-help.pd') $(OBJECTS_DEST)/nusmuk
! install -d $(HELP_DEST)/nusmuk
! install -p $(ABSTRACTIONS_SRC)/nusmuk/*-help.pd $(HELP_DEST)/nusmuk
! #------------------------------
# parazit
install -d $(OBJECTS_DEST)
--- 33,159 ----
! #==============================================================================#
! #
# PROJECT TARGETS
! #
! #==============================================================================#
!
! #-------------------------------------------------------------------------------
# GYRE
+ GYRE_NAME = gyre
objects_gyre:
! install -d $(OBJECTS_DEST)/$(GYRE_NAME)
install -p $(ABSTRACTIONS_SRC)/audionerd/GYRE/gyre.*.pd \
! $(OBJECTS_DEST)/$(GYRE_NAME)
! install -d $(MANUALS_DEST)/$(GYRE_NAME)
install -p $(ABSTRACTIONS_SRC)/audionerd/GYRE/gyre.html \
! $(MANUALS_DEST)/$(GYRE_NAME)
applications_gyre:
! install -d $(APPLICATIONS_DEST)/$(GYRE_NAME)
install -p $(ABSTRACTIONS_SRC)/audionerd/GYRE/gyre.pd \
! $(APPLICATIONS_DEST)/$(GYRE_NAME)
! #-------------------------------------------------------------------------------
# keyboardkeys
+ KEYBOARDKEYS_NAME = keyboardkeys
objects_keyboardkeys:
! install -d $(OBJECTS_DEST)/$(KEYBOARDKEYS_NAME)
! install -p $(ABSTRACTIONS_SRC)/$(KEYBOARDKEYS_NAME)/abs/*.pd \
! $(OBJECTS_DEST)/$(KEYBOARDKEYS_NAME)
! install -d $(HELP_DEST)/$(KEYBOARDKEYS_NAME)
! install -p $(ABSTRACTIONS_SRC)/$(KEYBOARDKEYS_NAME)/doc/*-help.pd \
! $(HELP_DEST)/$(KEYBOARDKEYS_NAME)
applications_keyboardkeys:
! install -d $(APPLICATIONS_DEST)/$(KEYBOARDKEYS_NAME)
! install -p $(ABSTRACTIONS_SRC)/$(KEYBOARDKEYS_NAME)/keyboard_main.pd \
! $(APPLICATIONS_DEST)/$(KEYBOARDKEYS_NAME)
! #-------------------------------------------------------------------------------
# la-kitchen
+ LA-KITCHEN_NAME = la-kitchen
objects_la-kitchen:
! install -d $(OBJECTS_DEST)/$(LA-KITCHEN_NAME)
install -p $(shell ls -1 $(ABSTRACTIONS_SRC)/La-kitchen/*.pd | \
! grep -v '\-help.pd') $(OBJECTS_DEST)/$(LA-KITCHEN_NAME)
! install -d $(HELP_DEST)/$(LA-KITCHEN_NAME)
install -p $(ABSTRACTIONS_SRC)/La-kitchen/*-help.pd \
! $(HELP_DEST)/$(LA-KITCHEN_NAME)
! install -d $(MANUALS_DEST)/$(LA-KITCHEN_NAME)
install -p $(ABSTRACTIONS_SRC)/La-kitchen/readme.txt \
! $(MANUALS_DEST)/$(LA-KITCHEN_NAME)
! #-------------------------------------------------------------------------------
# memento
+ MEMENTO_NAME = memento
objects_memento:
! install -d $(OBJECTS_DEST)/$(MEMENTO_NAME)
install -p $(shell ls -1 $(ABSTRACTIONS_SRC)/rradical/memento/*.pd | \
! grep -v '\-help.pd') $(OBJECTS_DEST)/$(MEMENTO_NAME)
! install -d $(HELP_DEST)/$(MEMENTO_NAME)
! install -p $(ABSTRACTIONS_SRC)/rradical/memento/*-help.pd \
! $(HELP_DEST)/$(MEMENTO_NAME)
! install -d $(MANUALS_DEST)/$(MEMENTO_NAME)
install -p $(ABSTRACTIONS_SRC)/rradical/memento/tutorial/*.* \
! $(MANUALS_DEST)/$(MEMENTO_NAME)
! install -d $(APPLICATIONS_DEST)/$(MEMENTO_NAME)
install -p $(ABSTRACTIONS_SRC)/rradical/memento/examples/*.* \
! $(APPLICATIONS_DEST)/$(MEMENTO_NAME)
! #-------------------------------------------------------------------------------
# nqpoly
! objects_nqpoly: objects_nqpoly~ objects_nqpoly4
! # make a common target for the manuals so they are in one place
install -d $(MANUALS_DEST)/nqpoly
install -p $(ABSTRACTIONS_SRC)/nqpoly/*.html $(MANUALS_DEST)/nqpoly
install -p $(ABSTRACTIONS_SRC)/nqpoly/nqpoly~/readme.txt \
$(MANUALS_DEST)/nqpoly/nqpoly~.txt
!
! NQPOLY_NAME = nqpoly~
! objects_nqpoly~:
! install -d $(OBJECTS_DEST)/$(NQPOLY_NAME)
install -p $(shell ls -1 $(ABSTRACTIONS_SRC)/nqpoly/nqpoly~/*.pd | \
! grep -v '\-help.pd') $(OBJECTS_DEST)/$(NQPOLY_NAME)
! install -d $(HELP_DEST)/$(NQPOLY_NAME)
! # all of the patches should be installed into help since [nqpoly~] needs to be
! # in the same directory as the patches its manipulating
! install -p $(ABSTRACTIONS_SRC)/nqpoly/nqpoly~/*.pd \
! $(HELP_DEST)/$(NQPOLY_NAME)
! install -d $(APPLICATIONS_DEST)/$(NQPOLY_NAME)
! install -p $(shell ls -1 $(ABSTRACTIONS_SRC)/nqpoly/nqpoly~/*.pd | \
! grep -v '\-help.pd') $(APPLICATIONS_DEST)/$(NQPOLY_NAME)
! NQPOLY4_NAME = nqpoly4
! objects_nqpoly4:
! install -d $(OBJECTS_DEST)/$(NQPOLY4_NAME)
! install -p $(shell ls -1 $(ABSTRACTIONS_SRC)/nqpoly/nqpoly4/*.pd | \
! grep -v '\-help.pd') $(OBJECTS_DEST)/$(NQPOLY4_NAME)
! install -d $(HELP_DEST)/$(NQPOLY4_NAME)
! # all of the patches should be installed into help since [nqpoly4] needs to be
! # in the same directory as the patches its manipulating
! install -p $(ABSTRACTIONS_SRC)/nqpoly/nqpoly4/*.pd $(HELP_DEST)/$(NQPOLY4_NAME)
! install -d $(APPLICATIONS_DEST)/$(NQPOLY4_NAME)
! install -p $(shell ls -1 $(ABSTRACTIONS_SRC)/nqpoly/nqpoly4/*.pd | \
! grep -v '\-help.pd') $(APPLICATIONS_DEST)/$(NQPOLY4_NAME)
!
! #-------------------------------------------------------------------------------
# nusmuk
+ NUSMUK_NAME = nusmuk
objects_nusmuk:
! install -d $(OBJECTS_DEST)/$(NUSMUK_NAME)
install -p $(shell ls -1 $(ABSTRACTIONS_SRC)/nusmuk/*.* | \
! grep -v '\-help.pd') $(OBJECTS_DEST)/$(NUSMUK_NAME)
! install -d $(HELP_DEST)/$(NUSMUK_NAME)
! install -p $(ABSTRACTIONS_SRC)/nusmuk/*-help.pd \
! $(HELP_DEST)/$(NUSMUK_NAME)
! #-------------------------------------------------------------------------------
# parazit
install -d $(OBJECTS_DEST)
***************
*** 135,151 ****
! #------------------------------
# RRADical
objects_rradical:
! install -d $(OBJECTS_DEST)/rradical
applications_rradical:
! install -d $(APPLICATIONS_DEST)/RRADical
! install -p $(ABSTRACTIONS_SRC)/rradical/usecases/*.* $(APPLICATIONS_DEST)/RRADical
! cp -rp $(ABSTRACTIONS_SRC)/rradical/usecases/showcase $(APPLICATIONS_DEST)/RRADical/
! #------------------------------------------------------------------------------#
# DEVELOPER'S TARGETS
! #------------------------------------------------------------------------------#
# make the symlinks necessary to simulate the installed environment
--- 161,182 ----
! #-------------------------------------------------------------------------------
# RRADical
+ RRADICAL_NAME = rradical
objects_rradical:
! install -d $(OBJECTS_DEST)/$(RRADICAL_NAME)
applications_rradical:
! install -d $(APPLICATIONS_DEST)/$(RRADICAL_NAME)
! install -p $(ABSTRACTIONS_SRC)/rradical/usecases/*.* \
! $(APPLICATIONS_DEST)/$(RRADICAL_NAME)
! cp -rp $(ABSTRACTIONS_SRC)/rradical/usecases/showcase \
! $(APPLICATIONS_DEST)/$(RRADICAL_NAME)/
! #==============================================================================#
! #
# DEVELOPER'S TARGETS
! #
! #==============================================================================#
# make the symlinks necessary to simulate the installed environment
***************
*** 159,165 ****
$(ABSTRACTIONS_SRC)/keyboardkeys/doc/keyboardkeys
! #------------------------------------------------------------------------------#
# CLEAN TARGETS
! #------------------------------------------------------------------------------#
objects_clean:
-rm -rf $(OBJECTS_DEST) $(HELP_DEST)
--- 190,199 ----
$(ABSTRACTIONS_SRC)/keyboardkeys/doc/keyboardkeys
! #==============================================================================#
! #
# CLEAN TARGETS
! #
! #==============================================================================#
!
objects_clean:
-rm -rf $(OBJECTS_DEST) $(HELP_DEST)
***************
*** 175,181 ****
! #------------------------------------------------------------------------------#
# LEGACY TARGETS
! #------------------------------------------------------------------------------#
# this is a legacy clean target to get rid of cruft
darwin_pkg_clean:
--- 209,217 ----
! #==============================================================================#
! #
# LEGACY TARGETS
! #
! #==============================================================================#
# this is a legacy clean target to get rid of cruft
darwin_pkg_clean:
More information about the Pd-cvs
mailing list