current: darwin_app PD_APP_NAME = Pd ifndef DESTDIR DESTDIR = installroot endif PD_APP_CONTENTS = /Applications/$(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\ Shell.app WISH_SHELL_CONTENTS = $(WISH_SHELL)/Contents LIB_DIR = $(DESTDIR)$(INSTALL_PREFIX) PD_FILE_ROOT = $(LIB_DIR) ABSTRACTIONS_DIR = $(PD_FILE_ROOT)/doc/abstractions EXTERNALS_DIR = $(PD_FILE_ROOT)/extra HELP_DIR = $(PD_FILE_ROOT)/doc # needed for PackageMaker.app since it needs absolute paths PWD = $(shell pwd) 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) # release version for this distro PACKAGE_VERSION = extended-RC1 PACKAGE_NAME = Pd-$(PD_VERSION)-$(PACKAGE_VERSION) DMG_NAME = $(PACKAGE_NAME) # in retrospect, I think this is a bad way to do it. # instead, I plan on making a including Tcl script # which creates links to the stuff inside of the Pd.app. # That script will then be called by a GUI menu item or pref. #UNIX_PACKAGE_NAME = $(PD_APP_NAME)-UNIX-$(PD_VERSION)-$(PACKAGE_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 FLEXTMAJOR ../../externals/grill/flext/buildsys/version.inc | cut -d '=' -f2).$(shell grep FLEXTMINOR ../../externals/grill/flext/buildsys/version.inc | cut -d '=' -f2).$(shell grep FLEXTMICRO ../../externals/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/maxlib/maxlib.c | cut -d '"' -f 2) OSC_VERSION = $(shell grep "define VERSION" ../../externals/OSCx/src/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_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 installroot/Applications/Pd.app darwin_prebuilt_app: darwin_app_externals darwin_app_docs \ darwin_app_abstractions darwin_app_doc_format darwin_app_noncvs 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 anywhere in your hard disk.

" >> $(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) # 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 "$(DESTDIR)$(PD_APP_CONTENTS)/MacOS" install -m0755 -p \ $(WISH_SHELL_CONTENTS)/MacOS/Wish\ Shell \ "$(DESTDIR)$(PD_APP_CONTENTS)/MacOS" install -d "$(DESTDIR)$(PD_APP_CONTENTS)/Resources" install -m0644 -p \ $(WISH_SHELL_CONTENTS)/Resources/Wish\ Shell.rsrc \ "$(DESTDIR)$(PD_APP_CONTENTS)/Resources" install -d "$(DESTDIR)$(PD_APP_CONTENTS)/Frameworks" cp -Rp $(WISH_SHELL_CONTENTS)/Frameworks "$(DESTDIR)$(PD_APP_CONTENTS)" # set up app wrapper install -d "$(DESTDIR)$(PD_APP_CONTENTS)/Resources/Scripts" install -m0644 -p Info.plist "$(DESTDIR)$(PD_APP_CONTENTS)" install -m0644 -p *.icns "$(DESTDIR)$(PD_APP_CONTENTS)/Resources" # rename the Wish Shell executable to "Pd" mv "$(DESTDIR)$(PD_APP_CONTENTS)/MacOS/Wish Shell" \ "$(DESTDIR)$(PD_APP_CONTENTS)/MacOS/Pd" # diskutil eject /Volumes/$(TCLTK) darwin_patch_pd: # apply some patches # cd ../../pd/src/ && patch -p0 < ../../packages/darwin_app/patches/socket.patch # cd ../../pd/src/ && patch -p0 < ../../packages/darwin_app/patches/u_main.tk.patch cd ../../pd/src/ && patch -p0 < ../../packages/darwin_app/patches/darwin_build-0.38.patch cd ../../pd/src/ && patch -p0 < ../../packages/darwin_app/patches/extended-help-menu.patch rm ../../pd/src/configure ../../pd/src/makefile cd ../../pd/src/ && autoconf darwin_app_core: darwin_app_wrapper # pd core cd ../../pd/src/ && ./configure && make cp -Rp ../../pd/bin ../../pd/doc ../../pd/extra ../../pd/man \ $(PD_FILE_ROOT) # AppMain.tcl cd "$(DESTDIR)$(PD_APP_CONTENTS)/Resources/Scripts" && \ ln -s ../bin/pd.tk AppMain.tcl # Headers install -d -m0755 $(PD_FILE_ROOT)/include install -m0444 ../../pd/src/*.h $(PD_FILE_ROOT)/include # run script to move help-*.pd files to *-help.pd according to the standard cd $(PD_FILE_ROOT)/doc/5.reference && \ ../../../../../../../../../scripts/convert-help-to-standard.sh darwin_app_doc_format: #---------------------------------------------------------------------------- # clean out cruft files -find $(PD_FILE_ROOT) -name .DS_Store -delete -rm -Rf `find $(PD_FILE_ROOT) -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 $(HELP_DIR) && \ sed -i.bak 's/^\(\#N canvas [0-9]* [0-9]* [0-9]* [0-9]*\) 12/\1 10/' */*.pd && \ rm -f */*.pd.bak # run script to move help-*.pd files to *-help.pd according to the standard cd $(HELP_DIR)/5.reference && \ ../../../../../../../../../scripts/convert-help-to-standard.sh #---------------------------------------------------------------------------- # remove write perms to prevent people form editing the helpfiles by mistake cd $(HELP_DIR) && chmod a-wx */*.pd */*/*.pd cd $(HELP_DIR)/5.reference && chmod a-w ????*/*.* *.txt darwin_app_docs: #---------------------------------------------------------------------------- # externals help patches install -d $(HELP_DIR)/5.reference cd ../../externals/build/doc && make cp -Rp ../../externals/build/doc/* $(HELP_DIR)/5.reference #---------------------------------------------------------------------------- # DOC 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 #---------------------------------------------------------------------------- # DOC menus install -d $(HELP_DIR)/menus cp -p ./doc-menu.pd $(HELP_DIR)/menus ./mkdocs $(HELP_DIR)/2.control.examples>$(HELP_DIR)/menus/2.control.examples.pd ./mkdocs $(HELP_DIR)/3.audio.examples>$(HELP_DIR)/menus/3.audio.examples.pd ./mkdocs $(HELP_DIR)/4.fft.examples>$(HELP_DIR)/menus/4.fft.examples.pd ./mkdocs $(HELP_DIR)/5.reference>$(HELP_DIR)/menus/5.reference.pd darwin_app_abstractions: #---------------------------------------------------------------------------- # ABSTRACTIONS install -d $(ABSTRACTIONS_DIR) # audionerd cp -Rp ../../abstractions/audionerd $(ABSTRACTIONS_DIR) # footils cp -Rp ../../abstractions/footils $(ABSTRACTIONS_DIR) # keyboardkeys cp -Rp ../../abstractions/keyboardkeys $(ABSTRACTIONS_DIR) #---------------------------------------------------------------------------- # EXTERNALS written in Pd # RRADical cp -Rp ../../abstractions/rradical $(EXTERNALS_DIR) cp -Rp ../../abstractions/rradical/doc $(HELP_DIR)/rradical # footils install -p ../../abstractions/footils/softtakeover/sto-help.pd \ $(HELP_DIR)/5.reference install -p ../../abstractions/footils/softtakeover/sto.pd $(EXTERNALS_DIR) # fft_convolution install -p ../../abstractions/fft_convolution/*-help.pd \ $(HELP_DIR)/5.reference install -p -m0644 $(shell ls -1 ../../abstractions/fft_convolution/*.pd | \ grep -v '\-help.pd') $(EXTERNALS_DIR) # La-kitchen install -d $(HELP_DIR)/5.reference/La-kitchen install -p ../../abstractions/La-kitchen/*-help.pd \ $(HELP_DIR)/5.reference/La-kitchen install -d $(EXTERNALS_DIR)/La-kitchen install -p -m0644 $(shell ls -1 ../../abstractions/La-kitchen/*.pd | \ grep -v '\-help.pd') $(EXTERNALS_DIR)/La-kitchen # nusmuk install -d $(HELP_DIR)/5.reference/nusmuk install -p ../../abstractions/nusmuk/*-help.pd \ $(HELP_DIR)/5.reference/nusmuk install -d $(EXTERNALS_DIR)/nusmuk install -p -m0644 $(shell ls -1 ../../abstractions/nusmuk/*.pd | \ grep -v '\-help.pd') $(EXTERNALS_DIR)/nusmuk # timestretch~ install -p ../../abstractions/timestretch/*-help.pd \ $(HELP_DIR)/5.reference install -p -m0644 $(shell ls -1 ../../abstractions/timestretch/*.pd | \ grep -v '\-help.pd') $(EXTERNALS_DIR) # vadsr~ install -p ../../abstractions/vadsr~/vadsr-test.pd \ $(HELP_DIR)/5.reference/vadsr~-help.pd install -p ../../abstractions/vadsr~/vadsr~.pd $(EXTERNALS_DIR) darwin_app_externals: darwin_app_externals_standard darwin_app_externals_c++ #darwin_app_externals: darwin_app_externals_flext darwin_app_externals_standard darwin_app_externals_c++ darwin_app_externals_gem darwin_app_externals_gem: cd ../../Gem && pbxbuild darwin_app_externals_flext: #---------------------------------------------------------------------------- # FLEXT cd ../../externals/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/" | \ sed "s/^FLEXTPREFIX=.*/FLEXTPREFIX=@executable_path\/..\/extra/" > buildsys/config-mac-pd-gcc.txt \ ) && \ ( \ test -f config.txt || \ ( \ cp -f build/config-mac.def config.txt && \ echo Copied template flext config file \ ) \ ) && \ bash build.sh pd gcc build-release-shared install -p -m0444 ../../externals/grill/flext/pd-darwin/release-shared/libflext-pd.$(FLEXT_VERSION).dylib $(EXTERNALS_DIR) ln -sf libflext-pd.$(FLEXT_VERSION).dylib $(EXTERNALS_DIR)/libflext-pd.dylib install -d $(HELP_DIR)/tutorials cp -rp ../../externals/grill/flext/tutorial $(HELP_DIR)/tutorials/flext install -d $(HELP_DIR)/flext install -p -m0644 ../../externals/grill/flext/gpl.txt \ ../../externals/grill/flext/readme.txt \ ../../externals/grill/flext/license.txt \ $(HELP_DIR)/flext # FLEXTERNALS ######### # dyn~ cd ../../externals/grill/dynext && bash ../flext/build.sh pd gcc build-release-shared FLEXTPREFIX=. FLEXTLIB=$(EXTERNALS_DIR) FLEXTINC=../flext/source install -p -m0444 ../../externals/grill/dynext/pd-darwin/release-shared/*.pd_darwin $(EXTERNALS_DIR) install -p -m0644 ../../externals/grill/dynext/pd/*.pd $(HELP_DIR)/5.reference install -d $(HELP_DIR)/dynext install -p -m0644 ../../externals/grill/dynext/gpl.txt \ ../../externals/grill/dynext/readme.txt \ ../../externals/grill/dynext/license.txt \ $(HELP_DIR)/dynext ######### # pool cd ../../externals/grill/pool && bash ../flext/build.sh pd gcc build-release-shared FLEXTPREFIX=. FLEXTLIB=$(EXTERNALS_DIR) FLEXTINC=../flext/source install -p -m0444 ../../externals/grill/pool/pd-darwin/release-shared/*.pd_darwin $(EXTERNALS_DIR) install -p -m0644 ../../externals/grill/pool/help-pool.pd $(HELP_DIR)/5.reference install -d $(HELP_DIR)/pool install -p -m0644 ../../externals/grill/pool/gpl.txt \ ../../externals/grill/pool/readme.txt \ ../../externals/grill/pool/license.txt \ $(HELP_DIR)/pool ######### # py/pyext cd ../../externals/grill/py && \ ( \ cp -f build/config-mac.def config.txt \ ) && \ bash ../flext/build.sh pd gcc build-release-shared FLEXTPREFIX=. FLEXTLIB=$(EXTERNALS_DIR) FLEXTINC=../flext/source install -p -m0444 ../../externals/grill/py/pd-darwin/release-shared/*.pd_darwin $(EXTERNALS_DIR) install -d $(HELP_DIR)/py/examples install -d $(HELP_DIR)/py/scripts install -p -m0644 ../../externals/grill/py/pd/*.pd $(HELP_DIR)/py/examples install -p -m0644 ../../externals/grill/py/scripts/*.py $(HELP_DIR)/py/scripts install -p -m0644 ../../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 cd ../../externals/grill/vasp/ && bash ../flext/build.sh pd gcc build-release-shared FLEXTPREFIX=. FLEXTLIB=$(EXTERNALS_DIR) FLEXTINC=../flext/source install -p -m0444 ../../externals/grill/vasp/pd-darwin/release-shared/*.pd_darwin $(EXTERNALS_DIR) install -p -m0644 ../../externals/grill/vasp/pd-help/*.pd $(HELP_DIR)/5.reference install -d $(HELP_DIR)/vasp install -p -m0644 ../../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 ######### # xsample cd ../../externals/grill/xsample && bash ../flext/build.sh pd gcc build-release-shared FLEXTPREFIX=. FLEXTLIB=$(EXTERNALS_DIR) FLEXTINC=../flext/source install -p -m0444 ../../externals/grill/xsample/pd-darwin/release-shared/*.pd_darwin $(EXTERNALS_DIR) install -p -m0644 ../../externals/grill/xsample/pd/*.pd $(HELP_DIR)/5.reference install -d $(HELP_DIR)/xsample install -p -m0644 ../../externals/grill/xsample/gpl.txt \ ../../externals/grill/xsample/readme.txt \ ../../externals/grill/xsample/license.txt \ $(HELP_DIR)/xsample ########## FOOTILS ######### # syncgrain # cd ../../externals/footils/syncgrain/ && make -f makefile.pd-darwin # install -p -m0444 ../../externals/footils/syncgrain/pd-darwin/*.pd_darwin $(EXTERNALS_DIR) # install -p -m0644 ../../externals/footils/syncgrain/pd/*.* $(HELP_DIR)/5.reference darwin_app_externals_standard: #---------------------------------------------------------------------------- # PD-EXTERNALS -cd ../../externals/build/darwin && make -k install -d $(EXTERNALS_DIR) install -p -m0644 ../../externals/build/darwin/*.pd_darwin $(EXTERNALS_DIR) # creb install -d $(EXTERNALS_DIR)/creb install -p -m0644 ../../externals/creb/abs/*.pd $(EXTERNALS_DIR)/creb install -d $(HELP_DIR)/5.reference/creb install -p -m0644 ../../externals/creb/doc/examples/*.* \ $(HELP_DIR)/5.reference/creb #---------------------------------------------------------------------------- # GEM install -p -m0644 ../../Gem/help/*.* $(HELP_DIR)/5.reference install -d $(HELP_DIR)/Gem/doc install -p -m0644 ../../Gem/doc/*.* $(HELP_DIR)/gem install -d $(HELP_DIR)/Gem/00.manual install -p -m0644 ../../Gem/manual/*.* $(HELP_DIR)/gem/00.manual cp -Rfp ../../Gem/examples/*.* ../../Gem/examples/data $(HELP_DIR)/gem #---------------------------------------------------------------------------- # hcs install -p -m0644 $(shell ls -1 ../../externals/hcs/*.pd | \ grep -v '\-help.pd') $(EXTERNALS_DIR) # hid cd ../../externals/hcs/hid && make install -p -m0644 ../../externals/hcs/hid/hid.pd_darwin $(EXTERNALS_DIR) install -p -m0644 $(shell ls -1 ../../externals/hcs/hid/*.pd | \ grep -v '\-help.pd'| grep -v '\-list.pd') $(EXTERNALS_DIR) # general install -p -m0644 ../../externals/hcs/general/*.pd $(EXTERNALS_DIR) # pan install -p -m0644 $(shell ls -1 ../../externals/hcs/pan/*.pd | \ grep -v '\-help.pd') $(EXTERNALS_DIR) #---------------------------------------------------------------------------- # IEMlib cp -Rp ../../externals/iemlib/iemabs $(EXTERNALS_DIR) install -d -m0755 $(HELP_DIR)/5.reference/iemabs mv $(EXTERNALS_DIR)/iemabs/help-*.pd $(HELP_DIR)/5.reference/iemabs #---------------------------------------------------------------------------- # miXed cd ../../externals/miXed/toxy && make cd ../../externals/miXed/cyclone && make cd ../../externals/miXed/pddp && make install -d -m755 $(EXTERNALS_DIR) install -p -m444 ../../externals/miXed/bin/*.pd_darwin $(EXTERNALS_DIR) install -p -m555 ../../externals/miXed/bin/cyclist $(PD_FILE_ROOT)/bin install -d -m755 $(HELP_DIR)/5.reference/cyclone install -p -m0644 ../../externals/miXed/test/*/*.* \ $(HELP_DIR)/5.reference/cyclone install -p -m0644 ../../externals/miXed/doc/*/*/*.* \ $(HELP_DIR)/5.reference #---------------------------------------------------------------------------- # OSC cd ../../externals/OSCx && ./configure && make install -p -m0644 ../../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 -m0644 ../../externals/pdp/doc/objects/*.* $(HELP_DIR)/5.reference install -d $(HELP_DIR)/pdp/introduction install -p -m0644 ../../externals/pdp/doc/introduction/*.* $(HELP_DIR)/pdp/introduction install -d $(HELP_DIR)/pdp/examples install -p -m0644 ../../externals/pdp/doc/examples/*.* $(HELP_DIR)/pdp/examples install -p -m0644 ../../externals/pdp/doc/reference.txt $(HELP_DIR)/pdp # libs for PdP #---------------------------------------------------------------------------- # unauthorized cd ../../externals/unauthorized && make install -p -m0444 ../../externals/unauthorized/*/*.pd_darwin $(EXTERNALS_DIR) install -p -m0644 ../../externals/unauthorized/*/*.pd $(HELP_DIR)/5.reference install -p -m0644 ../../externals/unauthorized/*/*.txt $(HELP_DIR)/5.reference install -p -m0644 ../../externals/unauthorized/*/*.pls $(HELP_DIR)/5.reference cp -Rfp ../../externals/unauthorized/blinkenlights/blm $(HELP_DIR)/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/zexy/src && autoconf && ./configure && make -install -p -m0444 ../../externals/zexy/src/*.pd_darwin $(EXTERNALS_DIR) install -p -m0444 \ $(shell ls -1 ../../externals/zexy/abs/*.pd | \ grep -v '-help.pd' | sed 's/\([&<>|~]\)/\\\1/g') \ $(EXTERNALS_DIR) install -p -m0644 ../../externals/zexy/abs/*-help.pd $(HELP_DIR)/5.reference 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 -m0644 ../../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 ##darwin_unix_pkg: ## mk the unix dir # install -d $(UNIX_DESTDIR)$(UNIX_prefix) ## copy stuff to UNIX dirs # sudo 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 ## cp text for pkg # cp $(WELCOME_FILE) $(README_FILE) $(LICENSE_FILE) pkg ## generate Description.plist # sed -e 's/PACKAGE_PREFIX/$(PACKAGE_PREFIX)/' pkg/Description.plist.template \ # | sed -e 's/PACKAGE_VERSION/$(PACKAGE_VERSION)/' \ # | sed -e 's/PD_VERSION/$(PD_VERSION)/' \ # > pkg/Description.plist ## generate Info.plist # sed -e 's/PACKAGE_PREFIX/$(PACKAGE_PREFIX)/' pkg/Info.plist.template \ # | sed -e 's/PACKAGE_VERSION/$(PACKAGE_VERSION)/' \ # | sed -e 's/PD_VERSION/$(PD_VERSION)/' \ # > pkg/Info.plist ## delete cruft # -find $(UNIX_DESTDIR) -name .DS_Store -delete # -rm -f 1 ## set proper permissions # sudo chown -R root:staff $(UNIX_DESTDIR)/$(UNIX_prefix) ## build package # -/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker \ # -build \ # -p $(PWD)/$(UNIX_PACKAGE_NAME).pkg \ # -f $(PWD)/$(UNIX_DESTDIR) \ # -r $(PWD)/pkg \ # -i $(PWD)/pkg/Info.plist \ # -d $(PWD)/Description.plist ## generate .info file ## sed -e 's/PACKAGE_PREFIX/$(PACKAGE_PREFIX)/' pkg/pd.info \ ## | sed -e 's/PACKAGE_VERSION/$(PACKAGE_VERSION)/' \ ## | sed -e 's/PD_VERSION/$(PD_VERSION)/' \ ## > $(UNIX_PACKAGE_NAME).pkg/Contents/Resources ## 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) darwin_app_noncvs: test -d noncvs/doc/5.reference && \ install -p -m0644 noncvs/doc/5.reference/*.* $(HELP_DIR)/5.reference test -d noncvs/extra && \ install -p -m0644 noncvs/extra/*.* $(EXTERNALS_DIR) cp -Rp noncvs/doc/serendipd $(HELP_DIR) darwin_app_perms: chmod a-x $(HELP_DIR)/*/*.pd $(HELP_DIR)/*/*/*.pd $(HELP_DIR)/*/*/*/*.pd chmod -R a-w $(HELP_DIR) # serendiPd shared patch chmod a+w $(HELP_DIR)/serendipd/*shared_patch.pd dmg: darwin_app_readme darwin_unix_pkg_welcome darwin_app_license darwin_app_perms install -d "$(DMG_NAME)" cd $(DESTDIR)/Applications && mv $(PD_APP_NAME).app \ "../../$(DMG_NAME)/$(DMG_NAME).app" install -p -m0444 ../../pd/LICENSE.txt "$(DMG_NAME)/PD LICENSE.txt" install -p -m0444 $(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" darwin_unpatch_pd: cd ../../pd/src/ && patch -R -p0 < ../../packages/darwin_app/patches/darwin_build-0.38.patch cd ../../pd/src/ && patch -R -p0 < ../../packages/darwin_app/patches/extended-help-menu.patch darwin_app_externals_standard_clean: cd ../../externals/build/darwin && make clean cd ../../externals/hcs/hid && make clean darwin_app_externals_gem_clean: cd ../../Gem && pbxbuild clean darwin_app_externals_flext_clean: cd ../../externals/grill && ( \ rm flext/buildsys/config-mac-pd-gcc.txt config.txt; \ rm flext/source/libflext.a; \ cd flext && make -f makefile.pd-darwin clean; \ cd dyn && make -f makefile.pd-darwin clean; \ cd fftease && make -f makefile.pd-darwin clean; \ cd pool && make -f makefile.pd-darwin clean; \ cd py && make -f makefile.pd-darwin clean; \ cd vasp && make -f makefile.pd-darwin clean; \ cd vst && make -f makefile.pd-darwin clean; \ cd xsample && make -f makefile.pd-darwin clean; \ ) cd ../../externals/footils/syncgrain && make -f makefile.pd-darwin clean