aboutsummaryrefslogtreecommitdiff
path: root/packages/darwin_app
diff options
context:
space:
mode:
Diffstat (limited to 'packages/darwin_app')
-rw-r--r--packages/darwin_app/Makefile++611
1 files changed, 611 insertions, 0 deletions
diff --git a/packages/darwin_app/Makefile++ b/packages/darwin_app/Makefile++
new file mode 100644
index 00000000..4d8b784c
--- /dev/null
+++ b/packages/darwin_app/Makefile++
@@ -0,0 +1,611 @@
+
+current: darwin_app
+
+# Pd needs autoconf 2.59, which is labeled differently on different machines
+PD_AUTOCONF := ${shell ( test -x "`which autoconf-2.59`" && echo autoconf-2.59 ) || echo autoconf }
+
+# needed to support weak linking of frameworks
+MAKE=MACOSX_DEPLOYMENT_TARGET=10.3 make
+
+CWD := $(shell pwd)
+DESTDIR = $(CWD)/build
+PD_APP_NAME = pd++
+PD_APP_CONTENTS = $(DESTDIR)/$(PD_APP_NAME).app/Contents
+INSTALL_PREFIX = $(PD_APP_CONTENTS)/Resources
+
+
+# source for the Wish Shell.app used to build Pd
+# download TclTkAquaStandalone-8.?.*.dmg from http://tcltkaqua.sourceforge.net/
+# and mount it. The files will be copied from the mounted .dmg image.
+#WISH_SHELL = /Applications/Utilities/Wish\ Shell.app
+TCLTK := $(shell /bin/ls -1r TclTkAquaStandalone-8.?.*.dmg|head -1|sed 's/\.dmg//')
+WISH_SHELL = /Volumes/$(TCLTK)/Wish.app
+WISH_SHELL_CONTENTS = $(WISH_SHELL)/Contents
+
+
+# locations of the various directories from CVS
+SRC_ROOT_DIR = $(CWD)/../..
+
+ABSTRACTIONS_SRC = $(SRC_ROOT_DIR)/abstractions
+DOC_SRC = $(SRC_ROOT_DIR)/doc
+EXTERNALS_SRC = $(SRC_ROOT_DIR)/externals
+GEM_SRC = $(SRC_ROOT_DIR)/Gem
+GEMLIBS_SRC = $(SRC_ROOT_DIR)/GemLibs
+PD_SRC = $(SRC_ROOT_DIR)/pd
+SCRIPTS_SRC = $(SRC_ROOT_DIR)/scripts
+
+
+# final destinations for compiled files
+ABSTRACTIONS_DST = $(INSTALL_PREFIX)/doc/abstractions
+EXTERNALS_DST = $(INSTALL_PREFIX)/extra
+DOC_DST = $(INSTALL_PREFIX)/doc
+
+
+PD_MAJOR_VERSION := $(shell /usr/bin/grep 'Pd version' $(PD_SRC)/src/s_main.c | sed 's/char pd_version\[\] = "Pd version \([0-9]\)\.[0-9]*[. TES]*[0-9]*[0-9extndRC.-]*\\n";/\1/')
+PD_MINOR_VERSION := $(shell /usr/bin/grep 'Pd version' $(PD_SRC)/src/s_main.c | sed 's/char pd_version\[\] = "Pd version [0-9]\.\([0-9]*\)[. TES]*\([0-9]*\)[0-9extndRC.-]*\\n";/\1/')
+PD_BUGFIX_VERSION := $(shell /usr/bin/grep 'Pd version' $(PD_SRC)/src/s_main.c | sed 's/char pd_version\[\] = "Pd version [0-9]\.[0-9]*[. TES]*\([0-9]*\)[0-9extndRC.-]*\\n";/\1/')
+PD_VERSION = $(PD_MAJOR_VERSION).$(PD_MINOR_VERSION).$(PD_BUGFIX_VERSION)
+
+
+# release version for this distro
+# PACKAGE_VERSION = extended-RC2
+PACKAGE_VERSION =
+# PACKAGE_NAME = pd-$(PD_VERSION)-$(PACKAGE_VERSION)
+PACKAGE_NAME = pd++
+DMG_NAME = $(PACKAGE_NAME)
+
+
+WELCOME_FILE = Welcome.html
+README_FILE = ReadMe.html
+LICENSE_FILE = License.html
+
+
+CYCLONE_MAJOR_VERSION := $(shell grep CYCLONE_VERSION $(EXTERNALS_SRC)/miXed/cyclone/build_counter | cut -d ' ' -f 3 | cut -d '"' -f 2)
+CYCLONE_RELEASE := $(shell grep CYCLONE_RELEASE $(EXTERNALS_SRC)/miXed/cyclone/build_counter | cut -d ' ' -f 3 | cut -d '"' -f 2)
+CYCLONE_BUILD := $(shell grep CYCLONE_BUILD $(EXTERNALS_SRC)/miXed/cyclone/build_counter | cut -d ' ' -f 3 | cut -d '"' -f 2)
+CYCLONE_VERSION := $(CYCLONE_MAJOR_VERSION) $(CYCLONE_RELEASE) $(CYCLONE_BUILD)
+
+FLEXT_VERSION := $(shell grep FLEXTMAJOR $(EXTERNALS_SRC)/grill/flext/buildsys/version.inc | cut -d '=' -f2).$(shell grep FLEXTMINOR $(EXTERNALS_SRC)/grill/flext/buildsys/version.inc | cut -d '=' -f2).$(shell grep FLEXTMICRO $(EXTERNALS_SRC)/grill/flext/buildsys/version.inc | cut -d '=' -f2)
+
+GEM_VERSION := $(shell grep "GEM_VERSION" ../../Gem/src/Base/GemVersion.h | cut -d '"' -f 2)
+
+MAXLIB_VERSION := $(shell grep "define VERSION" $(EXTERNALS_SRC)/maxlib/maxlib.c | cut -d '"' -f 2)
+
+OSC_VERSION := $(shell grep "define VERSION" $(EXTERNALS_SRC)/OSCx/src/OSC.c | cut -d '"' -f 2)
+
+PDP_VERSION := $(shell grep PDP_VERSION= $(EXTERNALS_SRC)/pdp/configure | cut -d '=' -f 2)
+
+PMPD_VERSION := $(shell grep "define VERSION" $(EXTERNALS_SRC)/pmpd/src/pmpd.c | cut -d '"' -f 2)
+
+TOXY_MAJOR_VERSION := $(shell grep TOXY_VERSION $(EXTERNALS_SRC)/miXed/toxy/build_counter | cut -d ' ' -f 3 | cut -d '"' -f 2)
+TOXY_RELEASE := $(shell grep TOXY_RELEASE $(EXTERNALS_SRC)/miXed/toxy/build_counter | cut -d ' ' -f 3 | cut -d '"' -f 2)
+TOXY_BUILD := $(shell grep TOXY_BUILD $(EXTERNALS_SRC)/miXed/toxy/build_counter | cut -d ' ' -f 3 | cut -d '"' -f 2)
+TOXY_VERSION := $(TOXY_MAJOR_VERSION) $(TOXY_RELEASE) $(TOXY_BUILD)
+
+ZEXY_VERSION := $(shell grep VERSION $(EXTERNALS_SRC)/zexy/src/zexy.h | cut -d ' ' -f 3 | cut -d '"' -f 2)
+
+#darwin_app: darwin_app_core
+darwin_app: darwin_app_core darwin_prebuilt_app
+
+# this target is for when you already have a pre-built Pd.app and you
+# just want to fill it with goodies from CVS. To do so, place your
+# Pd.app in $(DESTDIR)/Pd.app
+darwin_prebuilt_app: darwin_app_externals darwin_app_docs \
+ darwin_app_abstractions darwin_app_doc_format
+# darwin_app_abstractions darwin_app_noncvs darwin_app_doc_format
+
+darwin_app_license:
+ # generate HTML version of License
+ echo "<html><body>" > $(LICENSE_FILE)
+ echo "<h3>(Parts of this package can be used under the Pd/BSD license)</h3>" >> $(LICENSE_FILE)
+ echo "<font size=\"-1\">" >> $(LICENSE_FILE)
+ cat $(EXTERNALS_SRC)/creb/COPYING | sed -e 's/^$$/\<P\>/g' >> $(LICENSE_FILE)
+ echo "</font></body></html>" >> $(LICENSE_FILE)
+
+
+darwin_app_readme:
+ echo $(CYCLONE_RELEASE)
+ -rm $(README_FILE)
+ echo "<html>" > $(README_FILE)
+ echo "<head>" >> $(README_FILE)
+ echo "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=iso-8859-1\" />" >> $(README_FILE)
+ echo "</head>" >> $(README_FILE)
+ echo "<body>" >> $(README_FILE)
+ echo "<h2>Pure Data $(PD_VERSION)-$(PACKAGE_VERSION)</h2>" >> $(README_FILE)
+ echo "<p>Pd is a free real-time computer music software package resembling Max. It provides a patchable environment for audio analysis, synthesis, and processing, with a rich set of multimedia capabilities. You can get Pd for Linux, Windows, MacOS X, BSD, or IRIX.</p>" >> $(README_FILE)
+ echo "<p>For more information, go to: <a href=\"http://puredata.org\" target=\"pd\">http://puredata.org</a></p>" >> $(README_FILE)
+ echo "<h3>Installation</h3>" >> $(README_FILE)
+ echo "<p>To install Pd, drag the Pd.app to anywhere in your hard disk.</p>" >> $(README_FILE)
+ echo "<p>To install Gem and pmpd support, copy <code>org.puredata.pd.plist</code> to <code>~/Library/Preferences</code> (<code>~</code> means your home folder).</p>" >> $(README_FILE)
+ echo "<h3>Pure Data CVS Developers</h3>" >> $(README_FILE)
+# this may seem whack, but it generates the list of developers from the SourceForge site:
+ curl 'http://sourceforge.net/project/memberlist.php?group_id=55736' | grep -e '<td>' | sed -e :a -e 's/<[^>]*>//g;/</N;//ba' | grep -v '^$$' | sed -e 's/\t*/ - /' >> $(README_FILE)
+ echo "</p>" >> $(README_FILE)
+ echo "<p>" >> $(README_FILE)
+ echo "Many others not listed have contributed their time and effort, this is just a list of the current developers in the SourceForge project. But really, every Pd user is a developer and is encouraged to contribute to the CVS repository." >> $(README_FILE)
+ echo "</p>" >> $(README_FILE)
+ echo "<h3>License</h3>" >> $(README_FILE)
+ echo "<p>" >> $(README_FILE)
+ echo "The Pd core is licensed under a BSD license, almost every other part of this package is available under the GNU GPL. A couple packages have BSD-style licenses too." >> $(README_FILE)
+ echo "</p>" >> $(README_FILE)
+ echo "<h3>Included Versions</h3>" >> $(README_FILE)
+ echo "<p>These externals are all included from the Pd CVS repository:</p>" >> $(README_FILE)
+ echo "<ul>" >> $(README_FILE)
+ echo "<li>pure data: $(PD_VERSION) " >> $(README_FILE)
+ echo "<li>cyclone: $(CYCLONE_VERSION)" >> $(README_FILE)
+ echo "<li>flext: $(FLEXT_VERSION)" >> $(README_FILE)
+ echo "<li>gem: $(GEM_VERSION)" >> $(README_FILE)
+ echo "<li>iemlib: `date +20%y.%m.%d`" >> $(README_FILE)
+#
+# these cause this error:
+# Makefile:308: *** unterminated call to function `shell': missing `)'. Stop.
+#
+ echo "<li>maxlib: $(MAXLIB_VERSION)" >> $(README_FILE)
+ echo "<li>osc: $(OSC_VERSION)" >> $(README_FILE)
+ echo "<li>pmpd: $(PMPD_VERSION)" >> $(README_FILE)
+ echo "<li>pd-abstractions: `date +20%y.%m.%d`" >> $(README_FILE)
+ echo "<li>pd-doc: `date +20%y.%m.%d`" >> $(README_FILE)
+ echo "<li>pd-externals: `date +20%y.%m.%d`" >> $(README_FILE)
+ echo "<li>pddp: `date +20%y.%m.%d`" >> $(README_FILE)
+ echo "<li>pdp: $(PDP_VERSION)" >> $(README_FILE)
+ echo "<li>toxy: $(TOXY_VERSION)" >> $(README_FILE)
+ echo "<li>unauthorized: `date +20%y.%m.%d`" >> $(README_FILE)
+ echo "<li>zexy: $(ZEXY_VERSION)" >> $(README_FILE)
+ echo "</ul>" >> $(README_FILE)
+ echo "(this package was built on `date`) <BR>" >> $(README_FILE)
+ echo "</body></html>" >> $(README_FILE)
+
+
+# check here for a reference on how to do this:
+# http://cvs.sourceforge.net/viewcvs.py/tkcvs/tkcvs-proj/PackApp?rev=1.4
+darwin_app_wrapper:
+ test -d /Volumes/$(TCLTK) || hdiutil mount $(TCLTK).dmg
+# copy Wish Shell.app from default install location
+# note: use the "standalone" Wish shell to make a "standalone" pd app
+ install -d "$(PD_APP_CONTENTS)/MacOS"
+ install -m0755 -p \
+ $(WISH_SHELL_CONTENTS)/MacOS/Wish \
+ "$(PD_APP_CONTENTS)/MacOS"
+ install -d "$(PD_APP_CONTENTS)/Resources"
+ install -m0644 -p \
+ $(WISH_SHELL_CONTENTS)/Resources/Wish.rsrc \
+ "$(PD_APP_CONTENTS)/Resources"
+ install -d "$(PD_APP_CONTENTS)/Frameworks"
+ cp -Rp $(WISH_SHELL_CONTENTS)/Frameworks "$(PD_APP_CONTENTS)"
+# set up app wrapper
+ install -d "$(PD_APP_CONTENTS)/Resources/Scripts"
+ install -m0644 -p Info.plist "$(PD_APP_CONTENTS)"
+ install -m0644 -p *.icns "$(PD_APP_CONTENTS)/Resources"
+# rename the Wish Shell executable to "Pd"
+ mv "$(PD_APP_CONTENTS)/MacOS/Wish" \
+ "$(PD_APP_CONTENTS)/MacOS/pd"
+# diskutil eject /Volumes/$(TCLTK)
+
+darwin_patch_pd:
+ sed -i.bak 's/\(pd_version\[\] = "Pd version \)[0-9extndRC.-]*/\1$(PD_VERSION)-$(PACKAGE_VERSION)/' \
+ $(PD_SRC)/src/s_main.c
+ cd $(PD_SRC)/src/ && patch -p0 < \
+ ../../packages/darwin_app/patches/darwin_linking_fixes.patch
+ cd $(PD_SRC)/src/ && patch -p0 < \
+ ../../packages/darwin_app/patches/extended-help-menu.patch
+ cd $(PD_SRC)/src/ && patch -p0 < \
+ ../../packages/darwin_app/patches/display_tweaks.patch
+ -rm -f -- $(PD_SRC)/src/configure $(PD_SRC)/src/makefile
+
+darwin_app_core: darwin_app_wrapper
+# pd core
+# cd $(PD_SRC)/src/ && $(PD_AUTOCONF) && ./configure && $(MAKE)
+# or pd core with jack
+ cd $(PD_SRC)/src/ && $(PD_AUTOCONF) && ./configure && $(MAKE)
+ /Developer/tools/Rez -t APPL mac.r -o $(PD_SRC)/bin/pd
+ cp -Rp -- $(PD_SRC)/bin $(PD_SRC)/doc $(PD_SRC)/extra $(PD_SRC)/man \
+ $(INSTALL_PREFIX)
+
+# AppMain.tcl
+ cd "$(PD_APP_CONTENTS)/Resources/Scripts" && \
+ ln -s ../bin/pd.tk AppMain.tcl
+# Headers
+ install -d -m0755 $(INSTALL_PREFIX)/include
+ install -m0444 $(PD_SRC)/src/*.h $(INSTALL_PREFIX)/include
+# run script to move help-*.pd files to *-help.pd according to the standard
+ cd $(DOC_DST)/5.reference && \
+ $(SCRIPTS_SRC)/convert-help-to-standard.sh
+
+
+darwin_app_doc_format:
+#----------------------------------------------------------------------------
+# clean out cruft files
+ -find $(PD_APP_CONTENTS) -name .DS_Store -delete
+ -rm -Rf `find $(INSTALL_PREFIX) -name CVS`
+# set the font to 10pt on all help patches
+# the BSD/Darwin version of sed must create a backup file when doing
+# in-place replacement, so delete the unneeded backup files
+ cd $(DOC_DST) && \
+ sed -i.bak 's/^\(\#N canvas [0-9]* [0-9]* [0-9]* [0-9]*\) 12/\1 10/' \
+ */*.pd */*/*.pd && \
+ rm -f -- */*.pd.bak
+# run script to move help-*.pd files to *-help.pd according to the standard
+ cd $(DOC_DST)/5.reference && \
+ $(SCRIPTS_SRC)/convert-help-to-standard.sh
+#----------------------------------------------------------------------------
+# remove write perms to prevent people form editing the helpfiles by mistake
+ cd $(DOC_DST) && chmod a-wx */*.pd */*/*.pd
+ cd $(DOC_DST)/5.reference && chmod a-w ????*/*.* *.txt
+
+
+darwin_app_docs:
+#----------------------------------------------------------------------------
+# externals help patches
+ install -d $(DOC_DST)/5.reference
+ cd $(EXTERNALS_SRC)/build/doc && $(MAKE)
+ cp -Rp $(EXTERNALS_SRC)/build/doc/* $(DOC_DST)/5.reference
+#----------------------------------------------------------------------------
+# DOC
+ install -d $(DOC_DST)/7.stuff
+ cp -Rp $(DOC_SRC)/tutorials $(DOC_DST)
+ cp -Rp $(DOC_SRC)/additional/pd-msg $(DOC_DST)/7.stuff/
+#----------------------------------------------------------------------------
+# PDDP
+ install -m0644 $(DOC_SRC)/pddp/*.pd $(DOC_DST)/5.reference
+#----------------------------------------------------------------------------
+# DOC menus
+ install -d $(DOC_DST)/menus
+ cp -p ./doc-menu.pd $(DOC_DST)/menus
+ ./mkdocs $(DOC_DST)/2.control.examples >! $(DOC_DST)/menus/2.control.examples.pd
+ ./mkdocs $(DOC_DST)/3.audio.examples >! $(DOC_DST)/menus/3.audio.examples.pd
+ ./mkdocs $(DOC_DST)/4.fft.examples >! $(DOC_DST)/menus/4.fft.examples.pd
+ ./mkdocs $(DOC_DST)/5.reference >! $(DOC_DST)/menus/5.reference.pd
+
+
+darwin_app_abstractions:
+#----------------------------------------------------------------------------
+# ABSTRACTIONS
+ install -d $(ABSTRACTIONS_DST)
+# audionerd
+ cp -Rp $(ABSTRACTIONS_SRC)/audionerd $(ABSTRACTIONS_DST)
+# footils
+ cp -Rp $(ABSTRACTIONS_SRC)/footils $(ABSTRACTIONS_DST)
+# keyboardkeys
+ cp -Rp $(ABSTRACTIONS_SRC)/keyboardkeys $(ABSTRACTIONS_DST)
+#----------------------------------------------------------------------------
+# EXTERNALS written in Pd
+# RRADical
+ cp -Rp $(ABSTRACTIONS_SRC)/rradical $(EXTERNALS_DST)
+ cp -Rp $(ABSTRACTIONS_SRC)/rradical/doc $(DOC_DST)/rradical
+# footils
+ install -p $(ABSTRACTIONS_SRC)/footils/softtakeover/sto-help.pd \
+ $(DOC_DST)/5.reference
+ install -p $(ABSTRACTIONS_SRC)/footils/softtakeover/sto.pd $(EXTERNALS_DST)
+# fft_convolution
+ install -p $(ABSTRACTIONS_SRC)/fft_convolution/*-help.pd \
+ $(DOC_DST)/5.reference
+ install -p -m0644 $(shell ls -1 $(ABSTRACTIONS_SRC)/fft_convolution/*.pd | \
+ grep -v '\-help.pd') $(EXTERNALS_DST)
+# La-kitchen
+ install -d $(DOC_DST)/5.reference/La-kitchen
+ install -p $(ABSTRACTIONS_SRC)/La-kitchen/*-help.pd \
+ $(DOC_DST)/5.reference/La-kitchen
+ install -d $(EXTERNALS_DST)/La-kitchen
+ install -p -m0644 $(shell ls -1 $(ABSTRACTIONS_SRC)/La-kitchen/*.pd | \
+ grep -v '\-help.pd') $(EXTERNALS_DST)/La-kitchen
+# nusmuk
+ install -d $(DOC_DST)/5.reference/nusmuk
+ install -p $(ABSTRACTIONS_SRC)/nusmuk/*-help.pd \
+ $(DOC_DST)/5.reference/nusmuk
+ install -d $(EXTERNALS_DST)/nusmuk
+ install -p -m0644 $(shell ls -1 $(ABSTRACTIONS_SRC)/nusmuk/*.pd | \
+ grep -v '\-help.pd') $(EXTERNALS_DST)/nusmuk
+# timestretch~
+ install -p $(ABSTRACTIONS_SRC)/timestretch/*-help.pd \
+ $(DOC_DST)/5.reference
+ install -p -m0644 $(shell ls -1 $(ABSTRACTIONS_SRC)/timestretch/*.pd | \
+ grep -v '\-help.pd') $(EXTERNALS_DST)
+# vadsr~
+ install -p $(ABSTRACTIONS_SRC)/vadsr~/vadsr-test.pd \
+ $(DOC_DST)/5.reference/vadsr~-help.pd
+ install -p $(ABSTRACTIONS_SRC)/vadsr~/vadsr~.pd $(EXTERNALS_DST)
+
+
+darwin_app_externals: darwin_app_externals_standard darwin_app_externals_c++ darwin_app_externals_flext
+#darwin_app_externals: darwin_app_externals_standard darwin_app_externals_c++ darwin_app_externals_gem
+
+darwin_app_externals_gem:
+ cd ../../Gem && pbxbuild
+
+darwin_app_externals_flext:
+#----------------------------------------------------------------------------
+# FLEXT
+# temp hack -HCS
+ test -f $(EXTERNALS_SRC)/grill/flext/buildsys/mac/pd/config-gcc.def || \
+ cp $(EXTERNALS_SRC)/grill/flext/buildsys/mac/pd/config-gcc.def \
+ $(EXTERNALS_SRC)/grill/flext/buildsys/config-mac-pd-gcc.txt
+# end temp hack
+# tigital 8/30/2005 added
+ cd $(EXTERNALS_SRC)/grill/flext && \
+ ( \
+ test -f buildsys/config-mac-pd-gcc.txt || \
+ ( \
+ cp buildsys/mac/pd/config-gcc.def buildsys/config-mac-pd-gcc.txt && \
+ echo Copied template sys config file \
+ ) \
+ ) && \
+ ( \
+ cat buildsys/config-mac-pd-gcc.txt | \
+ sed "s/^PDPATH=.*/PDPATH=..\/..\/..\/pd/" > buildsys/config-mac-pd-gcc.txt \
+ ) && \
+ ( \
+ cat package.txt | sed "s/^PRECOMPILE=.*/PRECOMPILE=/" > package.txt \
+ ) && \
+ ( \
+ cat buildsys/mac/pd/gnumake-gcc-ext.inc | \
+ sed "s/^LDFLAG\S +=.*/LDFLAG\S += -bundle -bundle_loader ..\/..\/..\/pd\/bin\/pd/" > buildsys/mac/pd/gnumake-gcc-ext.inc \
+ ) && \
+ ( \
+ cat buildsys/mac/pd/gnumake-gcc-flext.inc | \
+ sed "s/^LDFLAG\S +=.*/LDFLAG\S += -dynamiclib -undefined dynamic_lookup /" > buildsys/mac/pd/gnumake-gcc-flext.inc \
+ ) && \
+ ( \
+ test -f config.txt || \
+ ( \
+ cp -f build/config-mac.def config.txt && \
+ echo Copied template flext config file \
+ ) \
+ ) && \
+ MACOSX_DEPLOYMENT_TARGET=10.3 bash build.sh pd gcc build-release-shared FLEXTLIB=@executable_path/../extra FLEXTINC=../flext/source FLEXTSYS=$(EXTERNALS_DST)
+ ln -sf $(EXTERNALS_SRC)/grill/flext/pd-darwin/release-shared/libflext-pd.$(FLEXT_VERSION).dylib $(EXTERNALS_SRC)/grill/flext/pd-darwin/release-shared/libflext-pd.dylib
+ install -p -m0444 $(EXTERNALS_SRC)/grill/flext/pd-darwin/release-shared/libflext-pd.$(FLEXT_VERSION).dylib $(EXTERNALS_DST)
+ ln -sf libflext-pd.$(FLEXT_VERSION).dylib $(EXTERNALS_DST)/libflext-pd.dylib
+ install -d $(DOC_DST)/tutorials
+ cp -rp $(EXTERNALS_SRC)/grill/flext/tutorial $(DOC_DST)/tutorials/flext
+ install -d $(DOC_DST)/flext
+ install -p -m0644 $(EXTERNALS_SRC)/grill/flext/gpl.txt \
+ $(EXTERNALS_SRC)/grill/flext/readme.txt \
+ $(EXTERNALS_SRC)/grill/flext/license.txt \
+ $(DOC_DST)/flext
+# FLEXTERNALS
+#########
+# dyn~
+ cd $(EXTERNALS_SRC)/grill/dynext && bash ../flext/build.sh pd gcc build-release-shared FLEXTLIB=../flext/pd-darwin/release-shared FLEXTINC=../flext/source FLEXTSYS=$(EXTERNALS_DST)
+ install -p -m0444 $(EXTERNALS_SRC)/grill/dynext/pd-darwin/release-shared/*.pd_darwin $(EXTERNALS_DST)
+ install -p -m0644 $(EXTERNALS_SRC)/grill/dynext/pd/*.pd $(DOC_DST)/5.reference
+ install -d $(DOC_DST)/dynext
+ install -p -m0644 $(EXTERNALS_SRC)/grill/dynext/gpl.txt \
+ $(EXTERNALS_SRC)/grill/dynext/readme.txt \
+ $(EXTERNALS_SRC)/grill/dynext/license.txt \
+ $(DOC_DST)/dynext
+#########
+# pool
+ cd $(EXTERNALS_SRC)/grill/pool && bash ../flext/build.sh pd gcc build-release-shared FLEXTLIB=../flext/pd-darwin/release-shared FLEXTINC=../flext/source FLEXTSYS=$(EXTERNALS_DST)
+ install -p -m0444 $(EXTERNALS_SRC)/grill/pool/pd-darwin/release-shared/*.pd_darwin $(EXTERNALS_DST)
+ install -p -m0644 $(EXTERNALS_SRC)/grill/pool/pool-help.pd $(DOC_DST)/5.reference
+ install -d $(DOC_DST)/pool
+ install -p -m0644 $(EXTERNALS_SRC)/grill/pool/gpl.txt \
+ $(EXTERNALS_SRC)/grill/pool/readme.txt \
+ $(EXTERNALS_SRC)/grill/pool/license.txt \
+ $(DOC_DST)/pool
+#########
+# py/pyext
+# cd $(EXTERNALS_SRC)/grill/py && \
+# ( \
+# cp -f build/config-mac.def config.txt \
+# ) && \
+# bash ../flext/build.sh pd gcc build-release-shared FLEXTPREFIX=. FLEXTLIB=$(EXTERNALS_DST) FLEXTINC=../flext/source
+# install -p -m0444 $(EXTERNALS_SRC)/grill/py/pd-darwin/release-shared/*.pd_darwin $(EXTERNALS_DST)
+# this wasn't building for me -HCS 2005-06-09
+ install -d $(DOC_DST)/py/examples
+ install -d $(DOC_DST)/py/scripts
+ install -p -m0644 $(EXTERNALS_SRC)/grill/py/pd/*.pd $(DOC_DST)/py/examples
+ install -p -m0644 $(EXTERNALS_SRC)/grill/py/scripts/*.py $(DOC_DST)/py/scripts
+ install -p -m0644 $(EXTERNALS_SRC)/grill/py/gpl.txt \
+ $(EXTERNALS_SRC)/grill/py/readme.txt $(EXTERNALS_SRC)/grill/py/license.txt \
+ $(DOC_DST)/py
+# install -d $(INSTALL_PREFIX)/Library/Frameworks
+# cp -R /Library/Frameworks/Python.framework $(INSTALL_PREFIX)/Library/Frameworks
+#########
+# vasp
+# fails without the dir
+# test -d ../../vasp/pd-darwin || mkdir -p ../../vasp/pd-darwin
+# cd $(EXTERNALS_SRC)/grill/vasp/ && bash ../flext/build.sh pd gcc build-release-shared FLEXTPREFIX=. FLEXTLIB=$(EXTERNALS_DST) FLEXTINC=../flext/source
+# install -p -m0444 $(EXTERNALS_SRC)/grill/vasp/pd-darwin/release-shared/*.pd_darwin $(EXTERNALS_DST)
+# this wasn't building for me -HCS 2005-06-09
+ install -p -m0644 $(EXTERNALS_SRC)/grill/vasp/pd-help/*.pd $(DOC_DST)/5.reference
+ install -d $(DOC_DST)/vasp
+ install -p -m0644 $(EXTERNALS_SRC)/grill/vasp/gpl.txt \
+ $(EXTERNALS_SRC)/grill/vasp/readme.txt \
+ $(EXTERNALS_SRC)/grill/vasp/license.txt \
+ $(EXTERNALS_SRC)/grill/vasp/changes.txt \
+ $(EXTERNALS_SRC)/grill/vasp/todo.txt \
+ $(DOC_DST)/vasp
+ cp -rp $(EXTERNALS_SRC)/grill/vasp/pd-ex $(DOC_DST)/vasp
+#########
+# xsample
+ cd $(EXTERNALS_SRC)/grill/xsample && bash ../flext/build.sh pd gcc build-release-shared FLEXTPREFIX=. FLEXTLIB=$(EXTERNALS_DST) FLEXTINC=../flext/source
+ install -p -m0444 $(EXTERNALS_SRC)/grill/xsample/pd-darwin/release-shared/*.pd_darwin $(EXTERNALS_DST)
+ install -p -m0644 $(EXTERNALS_SRC)/grill/xsample/pd/*.pd $(DOC_DST)/5.reference
+ install -d $(DOC_DST)/xsample
+ install -p -m0644 $(EXTERNALS_SRC)/grill/xsample/gpl.txt \
+ $(EXTERNALS_SRC)/grill/xsample/readme.txt \
+ $(EXTERNALS_SRC)/grill/xsample/license.txt \
+ $(DOC_DST)/xsample
+########## FOOTILS #########
+# syncgrain
+# cd $(EXTERNALS_SRC)/footils/syncgrain/ && $(MAKE) -f makefile.pd-darwin
+# install -p -m0444 $(EXTERNALS_SRC)/footils/syncgrain/pd-darwin/*.pd_darwin \
+# $(EXTERNALS_DST)
+ install -p -m0644 $(EXTERNALS_SRC)/footils/syncgrain/pd/*.* $(DOC_DST)/5.reference
+
+
+darwin_app_externals_standard:
+#----------------------------------------------------------------------------
+# PD-EXTERNALS
+ -cd $(EXTERNALS_SRC)/build/darwin && $(MAKE) -k
+ install -d $(EXTERNALS_DST)
+ install -p -m0644 $(EXTERNALS_SRC)/build/darwin/*.pd_darwin $(EXTERNALS_DST)
+# creb
+ install -d $(EXTERNALS_DST)/creb
+ install -p -m0644 $(EXTERNALS_SRC)/creb/abs/*.pd $(EXTERNALS_DST)/creb
+ install -d $(DOC_DST)/5.reference/creb
+ install -p -m0644 $(EXTERNALS_SRC)/creb/doc/examples/*.* \
+ $(DOC_DST)/5.reference/creb
+#----------------------------------------------------------------------------
+# GEM
+ install -p -m0644 ../../Gem/help/*.* $(DOC_DST)/5.reference
+ install -d $(DOC_DST)/Gem/doc
+ install -p -m0644 ../../Gem/doc/*.* $(DOC_DST)/gem
+ install -d $(DOC_DST)/Gem/00.manual
+ install -p -m0644 ../../Gem/manual/*.* $(DOC_DST)/gem/00.manual
+ cp -Rfp ../../Gem/examples/*.* ../../Gem/examples/data $(DOC_DST)/gem
+#----------------------------------------------------------------------------
+# hcs
+ install -p -m0644 $(shell ls -1 $(EXTERNALS_SRC)/hcs/*.pd | \
+ grep -v '\-help.pd') $(EXTERNALS_DST)
+# hid
+ cd $(EXTERNALS_SRC)/hcs/hid && $(MAKE)
+ install -p -m0644 $(EXTERNALS_SRC)/hcs/hid/hid.pd_darwin $(EXTERNALS_DST)
+ install -p -m0644 $(shell ls -1 $(EXTERNALS_SRC)/hcs/hid/*.pd | \
+ grep -v '\-help.pd'| grep -v '\-list.pd') $(EXTERNALS_DST)
+# general
+ install -p -m0644 $(EXTERNALS_SRC)/hcs/general/*.pd $(EXTERNALS_DST)
+# pan
+ install -p -m0644 $(shell ls -1 $(EXTERNALS_SRC)/hcs/pan/*.pd | \
+ grep -v '\-help.pd') $(EXTERNALS_DST)
+#----------------------------------------------------------------------------
+# IEMlib
+ cp -Rp $(EXTERNALS_SRC)/iemlib/iemabs $(EXTERNALS_DST)
+ install -d -m0755 $(DOC_DST)/5.reference/iemabs
+ mv $(EXTERNALS_DST)/iemabs/help-*.pd $(DOC_DST)/5.reference/iemabs
+#----------------------------------------------------------------------------
+# miXed
+ cd $(EXTERNALS_SRC)/miXed/toxy && $(MAKE)
+ cd $(EXTERNALS_SRC)/miXed/cyclone && $(MAKE)
+ cd $(EXTERNALS_SRC)/miXed/pddp && $(MAKE)
+ install -d -m755 $(EXTERNALS_DST)
+ install -p -m444 $(EXTERNALS_SRC)/miXed/bin/*.pd_darwin $(EXTERNALS_DST)
+ install -p -m555 $(EXTERNALS_SRC)/miXed/bin/cyclist $(INSTALL_PREFIX)/bin
+ install -d -m755 $(DOC_DST)/5.reference/cyclone
+ install -p -m0644 $(EXTERNALS_SRC)/miXed/test/*/*.* \
+ $(DOC_DST)/5.reference/cyclone
+ install -p -m0644 $(EXTERNALS_SRC)/miXed/doc/*/*/*.* \
+ $(DOC_DST)/5.reference
+#----------------------------------------------------------------------------
+# OSC
+ cd $(EXTERNALS_SRC)/OSCx && ./configure && $(MAKE)
+ install -p -m0644 $(EXTERNALS_SRC)/OSCx/doc/*.* $(DOC_DST)/5.reference
+ install -p -m0444 $(EXTERNALS_SRC)/OSCx/src/*.pd_darwin $(EXTERNALS_DST)
+#----------------------------------------------------------------------------
+# PdP
+# cd $(EXTERNALS_SRC)/pdp && ./configure && $(MAKE)
+# install -p -m0444 $(EXTERNALS_SRC)/pdp/*.pd_darwin $(EXTERNALS_DST)
+ install -p -m0644 $(EXTERNALS_SRC)/pdp/doc/objects/*.* $(DOC_DST)/5.reference
+ install -d $(DOC_DST)/pdp/introduction
+ install -p -m0644 $(EXTERNALS_SRC)/pdp/doc/introduction/*.* $(DOC_DST)/pdp/introduction
+ install -d $(DOC_DST)/pdp/examples
+ install -p -m0644 $(EXTERNALS_SRC)/pdp/doc/examples/*.* $(DOC_DST)/pdp/examples
+ install -p -m0644 $(EXTERNALS_SRC)/pdp/doc/reference.txt $(DOC_DST)/pdp
+# libs for PdP
+#----------------------------------------------------------------------------
+# unauthorized
+ cd $(EXTERNALS_SRC)/unauthorized && $(MAKE)
+ install -p -m0444 $(EXTERNALS_SRC)/unauthorized/*/*.pd_darwin $(EXTERNALS_DST)
+ install -p -m0644 $(EXTERNALS_SRC)/unauthorized/*/*.pd $(DOC_DST)/5.reference
+ install -p -m0644 $(EXTERNALS_SRC)/unauthorized/*/*.txt $(DOC_DST)/5.reference
+ install -p -m0644 $(EXTERNALS_SRC)/unauthorized/*/*.pls $(DOC_DST)/5.reference
+ cp -Rfp $(EXTERNALS_SRC)/unauthorized/blinkenlights/blm $(DOC_DST)/5.reference
+#----------------------------------------------------------------------------
+# zexy
+# new build system doesn't work with CVS layout, and most of zexy is
+# included in the extrnals build system now anyway
+# cd $(EXTERNALS_SRC)/zexy/src && autoconf && ./configure && $(MAKE)
+ -install -p -m0444 $(EXTERNALS_SRC)/zexy/src/*.pd_darwin $(EXTERNALS_DST)
+ install -p -m0444 \
+ $(shell ls -1 $(EXTERNALS_SRC)/zexy/abs/*.pd | \
+ grep -v '-help.pd' | sed 's/\([&<>|~]\)/\\\1/g') \
+ $(EXTERNALS_DST)
+ install -p -m0644 $(EXTERNALS_SRC)/zexy/abs/*-help.pd $(DOC_DST)/5.reference
+
+
+darwin_app_externals_c++:
+#----------------------------------------------------------------------------
+# CREB
+# cd $(EXTERNALS_SRC)/creb && autoconf && ./configure && cd modules++ && $(MAKE)
+# install -p -m0644 $(EXTERNALS_SRC)/creb/modules++/*.pd_darwin $(EXTERNALS_DST)
+#----------------------------------------------------------------------------
+# gem2pdp
+# cd $(EXTERNALS_SRC)/gem2pdp && $(MAKE) -f Makefile.darwin
+# install -p -m0444 $(EXTERNALS_SRC)/gem2pdp/*.pd_darwin $(EXTERNALS_DST)
+#----------------------------------------------------------------------------
+# GridFlow
+# cd ../../gridflow && ./configure && $(MAKE)
+
+
+darwin_app_welcome:
+ echo "<html><body><p><p>" > $(WELCOME_FILE)
+ echo "<CENTER><IMG SRC=\"logo.jpg\">" >> $(WELCOME_FILE)
+ echo "<h2>Version $(PD_VERSION)</h2>" >> $(WELCOME_FILE)
+ echo "<p>written by Miller S. Puckette</p></CENTER>" >> $(WELCOME_FILE)
+ echo "<FONT SIZE=\"-1\">" >> $(WELCOME_FILE)
+ echo "<p>`grep -A9 ACKNOWLEDG $(PD_SRC)/README.txt`</p>" >> $(WELCOME_FILE)
+ echo "</FONT>" >> $(WELCOME_FILE)
+ echo "</body></html>" >> $(WELCOME_FILE)
+
+darwin_app_noncvs:
+ test -d noncvs/doc/5.reference && \
+ install -p -m0644 noncvs/doc/5.reference/*.* $(DOC_DST)/5.reference
+ test -d noncvs/extra && \
+ install -p -m0644 noncvs/extra/*.* $(EXTERNALS_DST)
+ cp -Rp noncvs/doc/serendipd $(DOC_DST)
+
+darwin_app_perms:
+ chmod a-x $(DOC_DST)/*/*.pd $(DOC_DST)/*/*/*.pd $(DOC_DST)/*/*/*/*.pd
+ chmod -R a-w $(DOC_DST)
+# serendiPd shared patch
+ chmod a+w $(DOC_DST)/serendipd/*shared_patch.pd
+
+dmg: darwin_app_readme darwin_app_welcome darwin_app_license darwin_app_perms
+ install -d "$(CWD)/$(DMG_NAME)"
+ cd $(DESTDIR) && mv $(PD_APP_NAME).app "$(CWD)/$(DMG_NAME)/$(DMG_NAME).app"
+ install -p -m0444 $(PD_SRC)/LICENSE.txt "$(CWD)/$(DMG_NAME)/PD LICENSE.txt"
+ install -p -m0444 $(LICENSE_FILE) $(README_FILE) \
+ $(WELCOME_FILE) $(LICENSE_FILE) "$(CWD)/$(DMG_NAME)"
+ cd $(CWD) && /bin/sh mkdmg "$(DMG_NAME)"
+
+clean: darwin_app_clean darwin_app_externals_standard_clean darwin_pd_clean
+clean: darwin_app_externals_flext_clean
+#clean: darwin_app_externals_gem_clean darwin_app_externals_flext_clean
+
+darwin_pd_clean:
+ cd $(PD_SRC)/src/ && make clean
+
+darwin_app_clean:
+ -sudo rm -Rf -- $(DESTDIR) "$(DMG_NAME)"
+ -rm -f -- *~ 1 $(README_FILE) $(WELCOME_FILE) $(LICENSE_FILE) \
+ $(UNIX_PACKAGE_NAME).pkg "$(DMG_NAME).dmg"
+
+darwin_unpatch_pd:
+# this sed pattern won't work with TEST versions
+ cd $(PD_SRC)/src && \
+ sed -i.bak 's/\(pd_version\[\] = "Pd version [0-9.]*\)[0-9extndRC.-]*/\1/' \
+ s_main.c && \
+ rm -- *.bak
+ cd $(PD_SRC)/src/ && patch -R -p0 < \
+ ../../packages/darwin_app/patches/darwin_linking_fixes.patch
+ cd $(PD_SRC)/src/ && patch -R -p0 < \
+ ../../packages/darwin_app/patches/extended-help-menu.patch
+ cd $(PD_SRC)/src/ && patch -R -p0 < \
+ ../../packages/darwin_app/patches/display_tweaks.patch
+
+darwin_app_externals_standard_clean:
+ cd $(EXTERNALS_SRC)/build/darwin && make clean
+ cd $(EXTERNALS_SRC)/build/doc && make clean
+ cd $(EXTERNALS_SRC)/hcs/hid && make clean
+
+darwin_app_externals_gem_clean:
+ cd ../../Gem && xcodebuild clean
+
+darwin_app_externals_flext_clean:
+# cd $(EXTERNALS_SRC)/footils/syncgrain && make -f makefile.pd-darwin clean
+ cd $(EXTERNALS_SRC)/grill && \
+ rm -- flext/buildsys/config-mac-pd-gcc.txt flext/config.txt \
+ */pd-darwin/release-shared/*.dylib */pd-darwin/release-shared/*.opp */pd-darwin/*.pd_darwin \
+ */pd-darwin/*/*.pd_darwin
+