From 9a1d1eca008a2c9115a20ad2351b354d0a1fecfc Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Sat, 14 Aug 2004 15:22:18 +0000 Subject: first working version of Pd.app, released as a test release svn path=/trunk/; revision=1955 --- packages/darwin_app/Makefile | 397 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 397 insertions(+) create mode 100644 packages/darwin_app/Makefile (limited to 'packages/darwin_app/Makefile') diff --git a/packages/darwin_app/Makefile b/packages/darwin_app/Makefile new file mode 100644 index 00000000..e9eeef31 --- /dev/null +++ b/packages/darwin_app/Makefile @@ -0,0 +1,397 @@ + +current: darwin_app + +PD_APP_NAME = Pd + +DESTDIR = installroot +PD_APP_CONTENTS = /Applications/$(PD_APP_NAME).app/Contents +INSTALL_PREFIX = $(PD_APP_CONTENTS)/Resources + +PD_FILE_ROOT = $(DESTDIR)$(INSTALL_PREFIX)/lib/pd +ABSTRACTIONS_DIR = $(PD_FILE_ROOT)/doc/abstractions +EXTERNALS_DIR = $(PD_FILE_ROOT)/extra +HELP_DIR = $(PD_FILE_ROOT)/doc + + +PD_MAJOR_VERSION = $(shell /usr/bin/grep 'Pd version' ../../pd/src/s_main.c | /usr/bin/cut -d '\\' -f 1 | /usr/bin/cut -d ' ' -f 6 | /usr/bin/cut -d '.' -f 1) +PD_MINOR_VERSION = $(shell /usr/bin/grep 'Pd version' ../../pd/src/s_main.c | /usr/bin/cut -d '\\' -f 1 | /usr/bin/cut -d ' ' -f 6 | /usr/bin/cut -d '.' -f 2) +PD_BUGFIX_VERSION = $(shell /usr/bin/grep 'Pd version' ../../pd/src/s_main.c | /usr/bin/cut -d '\\' -f 1 | /usr/bin/cut -d ' ' -f 6 | /usr/bin/cut -d '.' -f 3) +PD_VERSION = $(PD_MAJOR_VERSION).$(PD_MINOR_VERSION).$(PD_BUGFIX_VERSION) + +PACKAGE_NAME = pd-$(PD_VERSION) +DMG_NAME = $(PACKAGE_NAME) + + +UNIX_PACKAGE_NAME = $(PD_APP_NAME)-UNIX-$(PD_VERSION) +UNIX_prefix = /usr/local +UNIX_DESTDIR = pd-unix-root + + +WELCOME_FILE = Welcome.html +README_FILE = ReadMe.html +LICENSE_FILE = License.html + + +CYCLONE_MAJOR_VERSION = $(shell grep CYCLONE_VERSION ../../externals/miXed/cyclone/build_counter | cut -d ' ' -f 3 | cut -d '"' -f 2) +CYCLONE_RELEASE = $(shell grep CYCLONE_RELEASE ../../externals/miXed/cyclone/build_counter | cut -d ' ' -f 3 | cut -d '"' -f 2) +CYCLONE_BUILD = $(shell grep CYCLONE_BUILD ../../externals/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 PROJECT_NUMBER ../../externals/grill/flext/flext.doxy | cut -d '"' -f2 | 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/maxlib/maxlib.c | cut -d '"' -f 2) + +OSC_VERSION = $(shell grep "#define VERSION" ../../externals/OSCx/OSC.c | cut -d '"' -f 2) + +PDP_VERSION = $(shell grep PDP_VERSION= ../../externals/pdp/configure | cut -d '=' -f 2) + +PMPD_VERSION = $(shell grep "#define VERSION" ../../externals/pmpd/src/pmpd.c | cut -d '"' -f 2) + +TOXY_MAJOR_VERSION = $(shell grep TOXY_VERSION ../../externals/miXed/toxy/build_counter | cut -d ' ' -f 3 | cut -d '"' -f 2) +TOXY_RELEASE = $(shell grep TOXY_RELEASE ../../externals/miXed/toxy/build_counter | cut -d ' ' -f 3 | cut -d '"' -f 2) +TOXY_BUILD = $(shell grep TOXY_BUILD ../../externals/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/zexy/src/zexy.h | cut -d ' ' -f 3 | cut -d '"' -f 2) + + +darwin_app: darwin_app_wrapper darwin_app_core darwin_unix_pkg darwin_app_externals \ + darwin_app_docs darwin_app_abstractions + + +darwin_app_license: + # generate HTML version of License + echo "" > $(LICENSE_FILE) + echo "

(Parts of this package can be used under the Pd/BSD license)

" >> $(LICENSE_FILE) + echo "" >> $(LICENSE_FILE) + cat ../../externals/creb/COPYING | sed -e 's/^$$/\/g' >> $(LICENSE_FILE) + echo "" >> $(LICENSE_FILE) + + +darwin_app_readme: + echo $(CYCLONE_RELEASE) + -rm $(README_FILE) + echo "" > $(README_FILE) + echo "" >> $(README_FILE) + echo "" >> $(README_FILE) + echo "" >> $(README_FILE) + echo "" >> $(README_FILE) + echo "

 Pure Data $(PD_VERSION)-$(PACKAGE_VERSION)

" >> $(README_FILE) + echo "

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.

" >> $(README_FILE) + echo "

For more information, go to: http://www.puredata.org

" >> $(README_FILE) + echo "

Installation

" >> $(README_FILE) + echo "

To install Pd, drag the Pd.app to your /Applications folder. Currently, this app will only work in this location, nowhere else.

" >> $(README_FILE) + echo "

Pure Data CVS Developers

" >> $(README_FILE) +# this may seem whack, but it generates the list of developers from the SourceForge site: + wget -q -O - 'http://sourceforge.net/project/memberlist.php?group_id=55736' | grep -e '' | sed -e :a -e 's/<[^>]*>//g;/> $(README_FILE) + echo "

" >> $(README_FILE) + echo "

" >> $(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 "

" >> $(README_FILE) + echo "

License

" >> $(README_FILE) + echo "

" >> $(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 "

" >> $(README_FILE) + echo "

Included Versions

" >> $(README_FILE) + echo "

These externals are all included from the Pd CVS repository:

" >> $(README_FILE) + echo "" >> $(README_FILE) + echo "(this package was built on `date`)
" >> $(README_FILE) + echo "" >> $(README_FILE) + + +darwin_app_wrapper: +# copy Wish Shell.app from default install location + install -d "$(DESTDIR)$(PD_APP_CONTENTS)/MacOS" + install -m0755 -p \ + /Applications/Utilities/Wish\ Shell.app/Contents/MacOS/Wish\ Shell \ + "$(DESTDIR)$(PD_APP_CONTENTS)/MacOS" + install -d "$(DESTDIR)$(PD_APP_CONTENTS)/Resources" + install -m0644 -p \ + /Applications/Utilities/Wish\ Shell.app/Contents/Resources/Wish\ Shell.rsrc \ + "$(DESTDIR)$(PD_APP_CONTENTS)/Resources" +# set up app wrapper + install -d "$(DESTDIR)$(PD_APP_CONTENTS)/Resources/Scripts" + install -m0644 -p Info.plist "$(DESTDIR)$(PD_APP_CONTENTS)" + install -m0644 -p Pd.term "$(DESTDIR)$(PD_APP_CONTENTS)/Resources" + install -m0644 -p *.icns "$(DESTDIR)$(PD_APP_CONTENTS)/Resources" +# using the shell script hack until AppMain.tcl works +# install -m0644 -p AppMain.tcl "$(DESTDIR)$(PD_APP_CONTENTS)/Resources/Scripts" + install -m0755 -p Pd "$(DESTDIR)$(PD_APP_CONTENTS)/MacOS" + + +# INSTALL_PREFIX=$(INSTALL_PREFIX) is for pd-MSP 0.37.1 +# prefix=$(INSTALL_PREFIX) is for pd-CVS 0.37 +darwin_app_core: +# pd core + cd ../../pd/src/ && ./configure && \ + make install \ + DESTDIR=../../packages/darwin_app/$(DESTDIR) \ + INSTALL_PREFIX=$(INSTALL_PREFIX) + +darwin_app_docs: +#---------------------------------------------------------------------------- +# DOC + install -d $(HELP_DIR)/5.reference + install -d $(HELP_DIR)/7.stuff + cp -Rp ../../doc/tutorials $(HELP_DIR) + cp -Rp ../../doc/additional/pd-msg $(HELP_DIR)/7.stuff/ +#---------------------------------------------------------------------------- +# PDDP + install -m644 --group=staff ../../doc/pddp/*.pd $(HELP_DIR)/5.reference + +darwin_app_abstractions: +#---------------------------------------------------------------------------- +# ABSTRACTIONS + install -d $(ABSTRACTIONS_DIR) + install -p -m0644 ../../externals/creb/abs/*.pd $(ABSTRACTIONS_DIR) + cd $(ABSTRACTIONS_DIR) && rm count.pd + install -d $(ABSTRACTIONS_DIR)/creb + install -p -m0444 ../../externals/creb/doc/examples/*.* $(ABSTRACTIONS_DIR)/creb +# cp -Rf footils timestretch vadsr~ $(ABSTRACTIONS_DIR) + +darwin_app_externals: darwin_app_externals_flext darwin_app_externals_standard darwin_app_externals_c++ + +darwin_app_externals_flext: +#---------------------------------------------------------------------------- +# FLEXT + install -d $(PD_FILE_ROOT)/flext + cd ../../externals/grill/build/darwin && make + install -d $(HELP_DIR)/tutorials + cp -rp ../../externals/grill/flext/tutorial $(HELP_DIR)/tutorials/flext + install -d $(HELP_DIR)/flext + install -p -m0444 ../../externals/grill/flext/gpl.txt \ + ../../externals/grill/flext/readme.txt \ + ../../externals/grill/flext/license.txt \ + $(HELP_DIR)/flext +# FLEXTERNALS +# dyn +# install -p -m0444 ../../externals/grill/dyn/pd-darwin/*.pd_darwin $(EXTERNALS_DIR) + install -p -m0444 ../../externals/grill/dyn/pd/*.pd $(HELP_DIR)/5.reference + install -d $(HELP_DIR)/dyn + install -p -m0444 ../../externals/grill/dyn/gpl.txt \ + ../../externals/grill/dyn/readme.txt \ + ../../externals/grill/dyn/license.txt \ + $(HELP_DIR)/dyn +# fftease +# install -p -m0444 ../../externals/grill/fftease/pd-darwin/*.pd_darwin $(EXTERNALS_DIR) + install -p -m0444 ../../externals/grill/fftease/pd/*.pd $(HELP_DIR)/5.reference + install -d $(HELP_DIR)/fftease + install -p -m0444 ../../externals/grill/fftease/gpl.txt \ + ../../externals/grill/fftease/readme.txt \ + ../../externals/grill/fftease/license.txt $(HELP_DIR)/fftease + cp -rp ../../externals/grill/fftease/media $(HELP_DIR)/fftease +# idelay +# install -p -m0444 ../../externals/grill/idelay/pd-darwin/*.pd_darwin $(EXTERNALS_DIR) + install -p -m0444 ../../externals/grill/idelay/pd/*.pd $(HELP_DIR)/5.reference + install -d $(HELP_DIR)/idelay + install -p -m0444 ../../externals/grill/idelay/gpl.txt \ + ../../externals/grill/idelay/license.txt \ + $(HELP_DIR)/idelay +# pool + install -p -m0444 ../../externals/grill/pool/pd-darwin/*.pd_darwin $(EXTERNALS_DIR) + install -p -m0444 ../../externals/grill/pool/help-pool.pd $(HELP_DIR)/5.reference + install -d $(HELP_DIR)/pool + install -p -m0444 ../../externals/grill/pool/gpl.txt \ + ../../externals/grill/pool/readme.txt \ + ../../externals/grill/pool/license.txt \ + $(HELP_DIR)/pool +# py/pyext +# install -p -m0444 ../../externals/grill/py/pd-darwin/*.pd_darwin $(EXTERNALS_DIR) + install -d $(HELP_DIR)/py/examples + install -d $(HELP_DIR)/py/scripts + install -p -m0444 ../../externals/grill/py/pd/*.pd $(HELP_DIR)/py/examples + install -p -m0444 ../../externals/grill/py/scripts/*.py $(HELP_DIR)/py/scripts + install -p -m0444 ../../externals/grill/py/gpl.txt \ + ../../externals/grill/py/readme.txt ../../externals/grill/py/license.txt \ + $(HELP_DIR)/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 +# install -p -m0444 ../../externals/grill/vasp/pd-darwin/*.pd_darwin $(EXTERNALS_DIR) + install -p -m0444 ../../externals/grill/vasp/pd-help/*.pd $(HELP_DIR)/5.reference + install -d $(HELP_DIR)/vasp + install -p -m0444 ../../externals/grill/vasp/gpl.txt \ + ../../externals/grill/vasp/readme.txt \ + ../../externals/grill/vasp/license.txt \ + ../../externals/grill/vasp/changes.txt \ + ../../externals/grill/vasp/todo.txt \ + $(HELP_DIR)/vasp + cp -rp ../../externals/grill/vasp/pd-ex $(HELP_DIR)/vasp +# vst +# install -p -m0444 ../../externals/grill/vst/pd-darwin/*.pd_darwin $(EXTERNALS_DIR) + install -p -m0444 ../../externals/grill/vst/pd/*.pd $(HELP_DIR)/5.reference + install -d $(HELP_DIR)/vst + install -p -m0444 ../../externals/grill/vst/gpl.txt \ + ../../externals/grill/vst/readme.txt \ + ../../externals/grill/vst/license.txt \ + $(HELP_DIR)/vst +# xsample + install -p -m0444 ../../externals/grill/xsample/pd-darwin/*.pd_darwin $(EXTERNALS_DIR) + install -p -m0444 ../../externals/grill/xsample/pd/*.pd $(HELP_DIR)/5.reference + install -d $(HELP_DIR)/xsample + install -p -m0444 ../../externals/grill/xsample/gpl.txt \ + ../../externals/grill/xsample/readme.txt \ + ../../externals/grill/xsample/license.txt \ + $(HELP_DIR)/xsample + +darwin_app_externals_standard: +#---------------------------------------------------------------------------- +# PD-EXTERNALS + cd ../../externals/build/darwin && make + install -d $(EXTERNALS_DIR) + install -p -m0644 ../../externals/build/darwin/*.pd_darwin $(EXTERNALS_DIR) +#---------------------------------------------------------------------------- +# GEM + install -p -m0444 ../../Gem/help/*.* $(HELP_DIR)/5.reference + install -d $(HELP_DIR)/Gem/doc + install -p -m0444 ../../Gem/doc/*.* $(HELP_DIR)/gem + install -d $(HELP_DIR)/Gem/00.manual + install -p -m0444 ../../Gem/manual/*.* $(HELP_DIR)/gem/00.manual + cp -Rfp ../../Gem/examples/*.* ../../Gem/examples/data $(HELP_DIR)/gem +#---------------------------------------------------------------------------- +# miXed + cd ../../externals/miXed/toxy && make + cd ../../externals/miXed/cyclone && make + install -p -m444 ../../externals/miXed/bin/*.pd_darwin $(EXTERNALS_DIR) + sudo install -p -m555 ../../externals/miXed/bin/cyclist $(UNIX_DESTDIR)$(UNIX_prefix)/bin + install -p -m0444 ../../externals/miXed/test/*/*.* \ + ../../externals/miXed/doc/*/*/*.* \ + $(HELP_DIR)/5.reference +#---------------------------------------------------------------------------- +# OSC + cd ../../externals/OSCx && ./configure && make + install -d $(UNIX_DESTDIR)/$(UNIX_prefix)/bin + sudo install -p -m0755 ../../externals/OSCx/send+dump/????OSC $(UNIX_DESTDIR)$(UNIX_prefix)/bin + install -p -m0444 ../../externals/OSCx/doc/*.* $(HELP_DIR)/5.reference + install -p -m0444 ../../externals/OSCx/src/*.pd_darwin $(EXTERNALS_DIR) +#---------------------------------------------------------------------------- +# PDP + cd ../../externals/pdp && ./configure && make + install -p -m0444 ../../externals/pdp/*.pd_darwin $(EXTERNALS_DIR) + install -p -m0444 ../../externals/pdp/doc/objects/*.* $(HELP_DIR)/5.reference + install -d $(HELP_DIR)/pdp/introduction + install -p -m0444 ../../externals/pdp/doc/introduction/*.* $(HELP_DIR)/pdp/introduction + install -d $(HELP_DIR)/pdp/examples + install -p -m0444 ../../externals/pdp/doc/examples/*.* $(HELP_DIR)/pdp/examples + install -p -m0444 ../../externals/pdp/doc/reference.txt $(HELP_DIR)/pdp +#---------------------------------------------------------------------------- +# PMPD + cd ../../externals/pmpd/src && make pd_darwin + install -p -m0444 ../../externals/pmpd/src/*.pd_darwin $(EXTERNALS_DIR) + install -p -m0444 ../../externals/pmpd/help/*.pd $(HELP_DIR)/5.reference + install -d $(HELP_DIR)/pmpd + install -p -m0444 ../../externals/pmpd/exemples/*.pd $(HELP_DIR)/pmpd +#---------------------------------------------------------------------------- +# unauthorized + cd ../../externals/unauthorized && make + install -p -m0444 ../../externals/unauthorized/*/*.pd_darwin $(EXTERNALS_DIR) + install -p -m0444 ../../externals/unauthorized/*/*.pd $(HELP_DIR)/5.reference + install -p -m0444 ../../externals/unauthorized/*/*.txt $(HELP_DIR)/5.reference + install -p -m0444 ../../externals/unauthorized/*/*.pls $(HELP_DIR)/5.reference + cp -Rfp ../../externals/unauthorized/blinkenlights/blm $(HELP_DIR)/5.reference +#---------------------------------------------------------------------------- +# zexy + cd ../../externals/zexy/src && make -f makefile.darwin + install -p -m0444 ../../externals/zexy/src/*.pd_darwin $(EXTERNALS_DIR) + install -p -m0444 ../../externals/zexy/zexy.pd $(HELP_DIR)/5.reference + install -d $(HELP_DIR)/help-zexy + install -p -m0444 ../../externals/zexy/examples/*.* $(HELP_DIR)/help-zexy + + +darwin_app_externals_c++: +#---------------------------------------------------------------------------- +# CREB +# cd ../../externals/creb && autoconf && ./configure && cd modules++ && make +# install -p -m0644 ../../externals/creb/modules++/*.pd_darwin $(EXTERNALS_DIR) +#---------------------------------------------------------------------------- +# gem2pdp +# cd ../../externals/gem2pdp && make -f Makefile.darwin +# install -p -m0444 ../../externals/gem2pdp/*.pd_darwin $(EXTERNALS_DIR) + install -p -m0444 ../../externals/gem2pdp/*.pd $(HELP_DIR)/5.reference +#---------------------------------------------------------------------------- +# GridFlow +# cd ../../gridflow && ./configure && make + + +darwin_unix_pkg: darwin_app_readme darwin_unix_pkg_welcome darwin_app_license +# mk the unix dir + install -d $(UNIX_DESTDIR)$(UNIX_prefix) +# copy stuff to UNIX dirs + cp -Rp $(DESTDIR)$(INSTALL_PREFIX)/bin \ + $(DESTDIR)$(INSTALL_PREFIX)/include \ + $(DESTDIR)$(INSTALL_PREFIX)/man \ + $(UNIX_DESTDIR)$(UNIX_prefix) + cd .. && install -p darwin_app/pd-unix.info $(UNIX_PACKAGE_NAME).info +# +# the "package" script is deprecated, got to find out the new way... +# +# delete cruft + -find $(UNIX_DESTDIR) -name .DS_Store -delete + -rm -f 1 +# set proper permissions + sudo chown -R root:staff $(UNIX_DESTDIR)/$(UNIX_prefix) +# /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker \ +# -build \ +# -p $(UNIX_PACKAGE_NAME).pkg \ +# -f $(UNIX_DESTDIR) \ +# -r . +# cd .. && sudo package pd-unix-root $(UNIX_PACKAGE_NAME).info -d . -ignoreDSStore +# install pkg docs +# sudo install -m 644 $(LICENSE_FILE) ../$(UNIX_PACKAGE_NAME).pkg/Contents/Resources +# sudo chown -R root:staff ../$(UNIX_PACKAGE_NAME).pkg/Contents/Resources + + +darwin_unix_pkg_welcome: + echo "

" > $(WELCOME_FILE) + echo "

" >> $(WELCOME_FILE) + echo "

Version $(PD_VERSION)

" >> $(WELCOME_FILE) + echo "

written by Miller S. Puckette

" >> $(WELCOME_FILE) + echo "" >> $(WELCOME_FILE) + echo "

`grep -A9 ACKNOWLEDG ../../pd/README.txt`

" >> $(WELCOME_FILE) + echo "
" >> $(WELCOME_FILE) + echo "" >> $(WELCOME_FILE) + + +dmg: + install -d "$(DMG_NAME)" +# mv $(UNIX_PACKAGE_NAME).pkg "$(DMG_NAME)" + cd $(DESTDIR)/Applications && mv $(PD_APP_NAME).app "../../$(DMG_NAME)" + install -p -m0444 ../../pd/LICENSE.txt "$(DMG_NAME)/PD LICENSE.txt" + install -p -m0444 pd-16.png $(LICENSE_FILE) $(README_FILE) \ + $(WELCOME_FILE) $(LICENSE_FILE) \ + "$(DMG_NAME)" + /bin/sh mkdmg "$(DMG_NAME)" + + +clean: darwin_app_clean + + +darwin_app_clean: + -sudo rm -Rf $(DESTDIR) $(UNIX_DESTDIR) "$(DMG_NAME)" $(UNIX_PACKAGE_NAME) + -rm -f *~ 1 $(README_FILE) $(WELCOME_FILE) $(LICENSE_FILE) \ + $(UNIX_PACKAGE_NAME).pkg "$(DMG_NAME).dmg" -- cgit v1.2.1