From 51ab3c1146b0dcc50844d540125693f4fb88f10c Mon Sep 17 00:00:00 2001 From: Ivica Ico Bukvic <ico@monsoon.(none)> Date: Sun, 18 Nov 2012 16:34:27 -0500 Subject: [PATCH] final set of improvements to the installer --- l2ork_addons/doc/Makefile | 306 ++++++++++++++++++ .../linux_make/runmebeforereinstalling.sh | 10 - 2 files changed, 306 insertions(+), 10 deletions(-) create mode 100644 l2ork_addons/doc/Makefile delete mode 100755 packages/linux_make/runmebeforereinstalling.sh diff --git a/l2ork_addons/doc/Makefile b/l2ork_addons/doc/Makefile new file mode 100644 index 000000000..d2dad7c43 --- /dev/null +++ b/l2ork_addons/doc/Makefile @@ -0,0 +1,306 @@ +#==============================================================================# +# +# Centralized build system for "doc". +# +# see for instructions: http://puredata.org/docs/developer/build +# <hans@at.or.at> +# +#==============================================================================# + +CWD := $(shell pwd) + +# these are designed to be overridden by the packages/Makefile +cvs_root_dir := $(shell cd $(CWD)/.. && pwd) +DESTDIR = $(CWD)/build/ +BUILDLAYOUT_DIR = $(cvs_root_dir)/packages + +CURL := curl --connect-timeout 600 --max-time 3600 + +# default target +all: + @echo "this currently does nothing" + +include $(BUILDLAYOUT_DIR)/Makefile.buildlayout + +#==============================================================================# +# +# OVERARCHING BUILD TARGETS +# +#==============================================================================# + +DOC_TARGETS = media messageoddness pd_fileformat pd-msg pddp \ +tutorials + +# clean up after everything is installed +final_setup: + chmod -R ugo-w $(pddocdir) + +install: $(objectsdir) $(helpdir) $(manualsdir) $(examplesdir) \ +$(patsubst %, %_install,$(DOC_TARGETS)) + @echo " " + @echo "doc install succeeded!" + + +#==============================================================================# +# +# PROJECT-SPECIFIC TARGETS +# +#==============================================================================# + + +#------------------------------------------------------------------------------# +# TEMPLATE +TEMPLATE_NAME = template +template_install: $(manualsdir) + install -d $(helpdir)$(manualsdir)/$(TEMPLATE_NAME) + install -p $(doc_src)/template/*.* \ + $(helpdir)$(manualsdir)/$(TEMPLATE_NAME) + +template_clean: + -rm -f -- $(helpdir)$(manualsdir)/$(TEMPLATE_NAME)/*.* + -rmdir -- $(helpdir)$(manualsdir)/$(TEMPLATE_NAME) + + + + +#------------------------------------------------------------------------------# +# EXTERNALS-HOWTO +EXTERNALS-HOWTO_NAME = Externals-HOWTO +externals-howto_install: $(manualsdir) + install -d $(DESTDIR)$(manualsdir)/$(EXTERNALS-HOWTO_NAME) + -$(CURL) http://iem.kug.ac.at/pd/externals-HOWTO/pd-externals-HOWTO.pdf > \ + $(DESTDIR)$(manualsdir)/$(EXTERNALS-HOWTO_NAME)/pd-externals-HOWTO.pdf + -$(CURL) http://iem.kug.ac.at/pd/externals-HOWTO/HOWTO-externals-en.html > \ + $(DESTDIR)$(manualsdir)/$(EXTERNALS-HOWTO_NAME)/HOWTO-externals-en.html + -$(CURL) http://iem.kug.ac.at/pd/externals-HOWTO/node1.html > \ + $(DESTDIR)$(manualsdir)/$(EXTERNALS-HOWTO_NAME)/node1.html + -$(CURL) http://iem.kug.ac.at/pd/externals-HOWTO/node2.html > \ + $(DESTDIR)$(manualsdir)/$(EXTERNALS-HOWTO_NAME)/node2.html + -$(CURL) http://iem.kug.ac.at/pd/externals-HOWTO/node3.html > \ + $(DESTDIR)$(manualsdir)/$(EXTERNALS-HOWTO_NAME)/node3.html + -$(CURL) http://iem.kug.ac.at/pd/externals-HOWTO/node4.html > \ + $(DESTDIR)$(manualsdir)/$(EXTERNALS-HOWTO_NAME)/node4.html + -$(CURL) http://iem.kug.ac.at/pd/externals-HOWTO/node5.html > \ + $(DESTDIR)$(manualsdir)/$(EXTERNALS-HOWTO_NAME)/node5.html + -$(CURL) http://iem.kug.ac.at/pd/externals-HOWTO/node6.html > \ + $(DESTDIR)$(manualsdir)/$(EXTERNALS-HOWTO_NAME)/node6.html + -$(CURL) http://iem.kug.ac.at/pd/externals-HOWTO/node7.html > \ + $(DESTDIR)$(manualsdir)/$(EXTERNALS-HOWTO_NAME)/node7.html + -$(CURL) http://iem.kug.ac.at/pd/externals-HOWTO/node8.html > \ + $(DESTDIR)$(manualsdir)/$(EXTERNALS-HOWTO_NAME)/node8.html + -$(CURL) http://iem.kug.ac.at/pd/externals-HOWTO/node9.html > \ + $(DESTDIR)$(manualsdir)/$(EXTERNALS-HOWTO_NAME)/node9.html + -$(CURL) http://iem.kug.ac.at/pd/externals-HOWTO/node10.html > \ + $(DESTDIR)$(manualsdir)/$(EXTERNALS-HOWTO_NAME)/node10.html + +externals-howto_clean: + + + + +#------------------------------------------------------------------------------# +# MEDIA +MEDIA_NAME = media +media_install: $(pddocdir) + install -d $(DESTDIR)$(pddocdir)/$(MEDIA_NAME) + install -p $(doc_src)/media/*.* \ + $(DESTDIR)$(pddocdir)/$(MEDIA_NAME) +# ln is cp on MinGW, so these won't work since the target files don't exist at +# the time that the media_install target is generally run. For MinGW, this is +# instead handled in packages/win32_inno/pd-inno.iss.in +ifneq (MINGW,$(findstring MINGW,$(UNAME))) +# random sound files + ln -sf ../../doc/sound/bell.aiff \ + $(DESTDIR)$(pddocdir)/$(MEDIA_NAME)/bell.aiff + ln -sf ../../doc/sound/voice.wav \ + $(DESTDIR)$(pddocdir)/$(MEDIA_NAME)/voice.wav + ln -sf ../../doc/sound/voice2.wav \ + $(DESTDIR)$(pddocdir)/$(MEDIA_NAME)/voice2.wav + ln -sf ../../extra/bsaylor/examples/noiseburst.wav \ + $(DESTDIR)$(pddocdir)/$(MEDIA_NAME)/noiseburst.wav + ln -sf ../../extra/ekext/examples/stink.wav \ + $(DESTDIR)$(pddocdir)/$(MEDIA_NAME)/stink.wav + ln -sf ../../extra/ekext/examples/beauty.wav \ + $(DESTDIR)$(pddocdir)/$(MEDIA_NAME)/beauty.wav + ln -sf ../../extra/ekext/examples/drummach.wav \ + $(DESTDIR)$(pddocdir)/$(MEDIA_NAME)/drummach.wav +# Gem videos + ln -sf ../../extra/Gem/examples/data/alea.mpg \ + $(DESTDIR)$(pddocdir)/$(MEDIA_NAME)/alea.mpg + ln -sf ../../extra/Gem/examples/data/homer.avi \ + $(DESTDIR)$(pddocdir)/$(MEDIA_NAME)/homer.avi + ln -sf ../../extra/Gem/examples/data/anim-1.mov \ + $(DESTDIR)$(pddocdir)/$(MEDIA_NAME)/anim-1.mov +endif + +media_clean: + -rm -f -- $(DESTDIR)$(pddocdir)/$(MEDIA_NAME)/*.* + -rmdir -- $(DESTDIR)$(pddocdir)/$(MEDIA_NAME) + + + + +#------------------------------------------------------------------------------# +# MESSAGEODDNESS +MESSAGEODDNESS_NAME = MessageOddness +messageoddness_install: $(manualsdir) + install -d $(DESTDIR)$(manualsdir)/$(MESSAGEODDNESS_NAME) + install -p $(doc_src)/additional/messageoddness/*.* \ + $(DESTDIR)$(manualsdir)/$(MESSAGEODDNESS_NAME) + +messageoddness_clean: + -rm -f -- $(DESTDIR)$(manualsdir)/$(MESSAGEODDNESS_NAME)/*.* + -rmdir -- $(DESTDIR)$(manualsdir)/$(MESSAGEODDNESS_NAME) + + + + +#------------------------------------------------------------------------------# +# PD-MSG +PD-MSG_NAME = pd-msg +pd-msg_install: $(manualsdir) + install -d $(DESTDIR)$(manualsdir)/$(PD-MSG_NAME) + install -p $(doc_src)/additional/pd-msg/*.txt \ + $(DESTDIR)$(manualsdir)/$(PD-MSG_NAME) + for dir in $(shell cd $(doc_src)/additional/pd-msg && ls -d [1-5].*); do \ + echo "Including $$dir in $(PD-MSG_NAME)"; \ + install -d $(DESTDIR)$(manualsdir)/$(PD-MSG_NAME)/$$dir; \ + install -p $(doc_src)/additional/pd-msg/$$dir/*.* \ + $(DESTDIR)$(manualsdir)/$(PD-MSG_NAME)/$$dir; \ + done + +pd-msg_clean: + + +#------------------------------------------------------------------------------# +# PD_FILEFORMAT +PD_FILEFORMAT_NAME = Pd +pd_fileformat_install: $(manualsdir) + install -d $(DESTDIR)$(manualsdir)/$(PD_FILEFORMAT_NAME) + install -p $(doc_src)/additional/pd-fileformat.html \ + $(DESTDIR)$(manualsdir)/$(PD_FILEFORMAT_NAME)/Pd_File_Format.html + +pd_fileformat_clean: + + +#------------------------------------------------------------------------------# +# PDDP +pddp_install: $(helpdir) + install -p $(doc_src)/pddp/*.pd $(DESTDIR)$(helpdir) +# this file is used in key-help.pd + install -p $(doc_src)/pddp/glossary.txt $(DESTDIR)$(helpdir) + install -p $(doc_src)/pddp/keyboard_fun.txt $(DESTDIR)$(helpdir) + +pddp_clean: + + + + +#------------------------------------------------------------------------------# +# TUTORIALS +tutorials_install: $(manualsdir) +# start-here + install -d "$(DESTDIR)$(manualsdir)/StartHere" + install -p $(doc_src)/tutorials/start-here/*.* "$(DESTDIR)$(manualsdir)/StartHere" +# pddrums + install -d $(DESTDIR)$(manualsdir)/PdDrums + install -p $(doc_src)/tutorials/footils/pddrums/*.* $(DESTDIR)$(manualsdir)/PdDrums +# playnow + install -d $(DESTDIR)$(manualsdir)/PlayNow + install -p $(doc_src)/tutorials/playnow/*.* $(DESTDIR)$(manualsdir)/PlayNow +# cognition + install -d $(DESTDIR)$(manualsdir)/Cognition + install -p $(doc_src)/tutorials/cognition/*.* $(DESTDIR)$(manualsdir)/Cognition +# intro + install -d $(DESTDIR)$(manualsdir)/0.Intro + install -p $(doc_src)/tutorials/intro/*.* $(DESTDIR)$(manualsdir)/0.Intro + install -p $(externals_src)/pddp/+pager.pd $(DESTDIR)$(manualsdir)/0.Intro +# sound + install -d $(DESTDIR)$(manualsdir)/1.Sound + install -p $(doc_src)/tutorials/sound/*.* $(DESTDIR)$(manualsdir)/1.Sound + install -p $(externals_src)/pddp/+pager.pd $(DESTDIR)$(manualsdir)/1.Sound +# visual + install -d $(DESTDIR)$(manualsdir)/2.Image + install -p $(doc_src)/tutorials/visual/*.* $(DESTDIR)$(manualsdir)/2.Image + install -p $(externals_src)/pddp/+pager.pd $(DESTDIR)$(manualsdir)/2.Image +# networking + install -d $(DESTDIR)$(manualsdir)/3.Networking + install -p $(doc_src)/tutorials/networking/*.* $(DESTDIR)$(manualsdir)/3.Networking + install -p $(externals_src)/pddp/+pager.pd $(DESTDIR)$(manualsdir)/3.Networking +# physical +# install -d $(manualsdir)/4.Physical +# install -p $(doc_src)/tutorials/physical/*.* $(manualsdir)/4.Physical +# install -p $(externals_src)/pddp/+pager.pd $(manualsdir)/4.Physical + +tutorials_clean: + -rm -f -- $(DESTDIR)$(manualsdir)/PdDrums/*.* + -rmdir -- $(DESTDIR)$(manualsdir)/PdDrums + -rm -f -- $(DESTDIR)$(manualsdir)/PlayNow/*.* + -rmdir -- $(DESTDIR)$(manualsdir)/PlayNow + -rm -f -- $(DESTDIR)$(manualsdir)/0.Intro/*.* + -rmdir -- $(DESTDIR)$(manualsdir)/0.Intro + -rm -f -- $(DESTDIR)$(manualsdir)/1.Sound/*.* + -rmdir -- $(DESTDIR)$(manualsdir)/1.Sound + -rm -f -- $(DESTDIR)$(manualsdir)/0.Intro/Visual/*.* + -rmdir -- $(DESTDIR)$(manualsdir)/0.Intro/Visual + -rm -f -- $(DESTDIR)$(manualsdir)/3.Networking/*.* + -rmdir -- $(DESTDIR)$(manualsdir)/3.Networking + -rm -f -- $(DESTDIR)$(manualsdir)/4.Physical/*.* + -rmdir -- $(DESTDIR)$(manualsdir)/4.Physical + + +#==============================================================================# +# +# DEVELOPER'S TARGETS +# +#==============================================================================# + +# make the symlinks necessary to simulate the installed environment +devsymlinks: + test -e $(doc_src)/2.control.examples || \ + ln -sf $(pd_src)/doc/2.control.examples $(doc_src)/2.control.examples + test -e $(doc_src)/3.audio.examples || \ + ln -sf $(pd_src)/doc/3.audio.examples $(doc_src)/3.audio.examples +# pd <= 0.38-4 has 4.fft.examples + test -e $(doc_src)/4.fft.examples || \ + ln -sf $(pd_src)/doc/4.fft.examples $(doc_src)/4.fft.examples +# pd > 0.38-4 has 4.data.structures + test -e $(doc_src)/4.data.structures || \ + ln -sf $(pd_src)/doc/4.data.structures $(doc_src)/4.data.structures + test -e $(doc_src)/7.stuff || \ + ln -sf $(pd_src)/doc/7.stuff $(doc_src)/7.stuff + test -e $(doc_src)/sound || \ + ln -sf $(pd_src)/doc/sound $(doc_src)/sound +# put the pddp support objects in the path + test -e $(doc_src)/pddp/pddp || \ + ln -sf $(externals_src)/pddp $(doc_src)/pddp/pddp + +#==============================================================================# +# +# CLEAN TARGETS +# +#==============================================================================# + +# the destination-specific clean targets are in Makefile.buildlayout +clean: $(patsubst %, %_clean,$(DOC_TARGETS)) + +distclean: clean cruft_clean + + + + +test_locations: + @echo "PD_VERSION: $(PD_VERSION)" + @echo "PACKAGE_VERSION: $(PACKAGE_VERSION)" + @echo "CWD $(CWD)" + @echo "DESTDIR $(DESTDIR)" + @echo "PREFIX $(prefix)" + @echo "BINDIR $(bindir)" + @echo "LIBDIR $(libdir)" + @echo "OBJECTSDIR $(objectsdir)" + @echo "PDDOCDIR $(pddocdir)" + @echo "LIBPDDIR $(libpddir)" + @echo "LIBPDBINDIR $(libpdbindir)" + @echo "HELPDIR $(helpdir)" + @echo "MANUALSDIR $(manualsdir)" + @echo "EXAMPLESDIR $(examplesdir)" diff --git a/packages/linux_make/runmebeforereinstalling.sh b/packages/linux_make/runmebeforereinstalling.sh deleted file mode 100755 index e4165425c..000000000 --- a/packages/linux_make/runmebeforereinstalling.sh +++ /dev/null @@ -1,10 +0,0 @@ -#rm -f build/usr/local/lib/pd-l2ork/doc/examples/Gem -#rm -f build/usr/local/lib/pd-l2ork/doc/manuals/Gem -#rm -f build/usr/local/Makefile -#rm -f build/etc/pd-l2ork/default.pdl2ork - -mkdir -p build/usr/local/lib/pd-l2ork -ln -s -f pd-l2ork build/usr/local/lib/pd - -exit 0 - -- GitLab