aboutsummaryrefslogtreecommitdiff
path: root/externals/build
diff options
context:
space:
mode:
Diffstat (limited to 'externals/build')
-rwxr-xr-xexternals/build/Makefile.buildlayout67
-rw-r--r--externals/build/doc/makefile131
2 files changed, 140 insertions, 58 deletions
diff --git a/externals/build/Makefile.buildlayout b/externals/build/Makefile.buildlayout
new file mode 100755
index 00000000..a2e6ef06
--- /dev/null
+++ b/externals/build/Makefile.buildlayout
@@ -0,0 +1,67 @@
+
+## Makefile.buildlayout
+
+# This file should be exactly the same in each section of the CVS. A copy is
+# kept in each section of the CVS so that each section will be self-contained.
+# To use it, you need to include it in your Makefile (i.e. "include
+# Makefile.buildlayout") and then define $(INSTALL_PREFIX) and $(SRC_ROOT_DIR).
+#
+# $(SRC_ROOT_DIR) is the base directory of src tree, equivalent to the root
+# level of the pure-data CVS.
+#
+# $(INSTALL_PREFIX) is the base directory to where all of the resulting files
+# will be copied.
+#
+# This file is currently located in these places:
+# abstractions
+# externals/build
+# packages
+#
+# it will be going here too:
+# doc
+# extensions
+# gem
+# pd
+#
+# <hans@at.or.at>
+
+# sources
+ABSTRACTIONS_SRC = $(SRC_ROOT_DIR)/abstractions
+DOC_SRC = $(SRC_ROOT_DIR)/doc
+EXTERNALS_SRC = $(SRC_ROOT_DIR)/externals
+FLEXT_SRC = $(SRC_ROOT_DIR)/externals/grill/flext
+GEM_SRC = $(SRC_ROOT_DIR)/Gem
+GEMLIBS_SRC = $(SRC_ROOT_DIR)/GemLibs
+PD_SRC = $(SRC_ROOT_DIR)/pd
+SCRIPTS_SRC = $(SRC_ROOT_DIR)/scripts
+
+
+# destinations
+APPLICATIONS_DEST = $(DOCS_DEST)/examples
+DOCS_DEST = $(INSTALL_PREFIX)/doc
+OBJECTS_DEST = $(INSTALL_PREFIX)/extra
+HELP_DEST = $(DOCS_DEST)/5.reference
+MANUALS_DEST = $(DOCS_DEST)/manuals
+
+#------------------------------------------------------------------------------#
+# DIRECTORY STRUCTURE TARGETS
+#------------------------------------------------------------------------------#
+# first make sure that the directory structure is setup
+$(INSTALL_PREFIX):
+ install -d $(INSTALL_PREFIX)
+
+$(APPLICATIONS_DEST): $(INSTALL_PREFIX)
+ install -d $(APPLICATIONS_DEST)
+
+$(DOCS_DEST): $(INSTALL_PREFIX)
+ install -d $(DOCS_DEST)
+
+$(HELP_DEST): $(INSTALL_PREFIX)
+ install -d $(HELP_DEST)
+
+$(MANUALS_DEST): $(INSTALL_PREFIX)
+ install -d $(MANUALS_DEST)
+
+$(OBJECTS_DEST): $(INSTALL_PREFIX)
+ install -d $(OBJECTS_DEST)
+
diff --git a/externals/build/doc/makefile b/externals/build/doc/makefile
index 93f3bfb2..d1e0dbe2 100644
--- a/externals/build/doc/makefile
+++ b/externals/build/doc/makefile
@@ -4,88 +4,103 @@
# inclusion into the externals packages
#
-DOC_DIR = .
+SRC_ROOT_DIR := $(shell pwd)/../../..
+INSTALL_PREFIX = .
-all:
-# add write perms to allow rewriting over all files
- chmod -R u+w $(DOC_DIR)
+all: install
+
+include ../Makefile.buildlayout
+
+# this is here to retain compatibility to the way that this makefile copied
+# files before it was added to the unified build system
+HELP_DEST = .
+
+install:
#----------------------------------------------------------------------------
# all standard objs' help files
- install -p -m0644 \
- ../../OSCx/doc/*.pd \
- ../../control/*/*.pd \
- ../../signal/*/*.pd \
- ../../aenv~/*.pd \
- ../../arraysize/*.pd \
- ../../beatpipe/*.pd \
- ../../build/*.pd \
- ../../bbogart/chaos/tools/*.pd \
- ../../bbogart/*/*.pd \
- ../../creb/doc/*.pd \
- ../../creb/doc/examples/*.pd \
- ../../cxc/reference/*.pd \
- ../../dfx/*/*.pd \
- ../../ext13/doc/*.pd \
- ../../ggee/*/*-help.pd \
- ../../gem2pdp/*.pd \
- ../../ff/*.pd \
- ../../freeverb~/*.pd \
- ../../hcs/*-help.pd \
- ../../hcs/*/doc/*.pd \
- ../../hcs/hid/examples/*.pd \
- ../../hcs/pan/*-help.pd \
- ../../iem/*/*/*-help.pd \
- ../../markex/*.pd \
- ../../maxlib/help/*.* \
- ../../mjlib/doc/*.pd \
- ../../motex/*.pd \
- ../../nusmuk/line3/*.pd\
- ../../pdogg/*/*.pd \
- ../../plugin~/*.pd \
- ../../pmpd/help/*.pd\
- ../../rhythm_estimator/*.p? \
- ../../sprinkler/sprinkler-help.pd \
- ../../susloop~/*.pd \
- ../../svf~/*.pd \
- ../../vbap/*.pd \
- ../../vst/*.pd \
- ../../zhzxh~/*.pd \
- $(DOC_DIR)
+# it had to be broken up because the list is soo long
+ install -p \
+ $(EXTERNALS_SRC)/OSCx/doc/*.pd \
+ $(EXTERNALS_SRC)/control/*/*.pd \
+ $(EXTERNALS_SRC)/signal/*/*.pd \
+ $(EXTERNALS_SRC)/aenv~/*.pd \
+ $(EXTERNALS_SRC)/arraysize/*.pd \
+ $(EXTERNALS_SRC)/beatpipe/*.pd \
+ $(EXTERNALS_SRC)/build/*.pd \
+ $(EXTERNALS_SRC)/bbogart/chaos/tools/*.pd \
+ $(EXTERNALS_SRC)/bbogart/*/*.pd \
+ $(EXTERNALS_SRC)/creb/doc/*.pd \
+ $(HELP_DEST)
+ install -p \
+ $(EXTERNALS_SRC)/creb/doc/examples/*.pd \
+ $(EXTERNALS_SRC)/cxc/reference/*.pd \
+ $(EXTERNALS_SRC)/dfx/*/*.pd \
+ $(EXTERNALS_SRC)/ext13/doc/*.pd \
+ $(EXTERNALS_SRC)/ggee/*/*-help.pd \
+ $(EXTERNALS_SRC)/gem2pdp/*.pd \
+ $(EXTERNALS_SRC)/ff/*.pd \
+ $(EXTERNALS_SRC)/freeverb~/*.pd \
+ $(EXTERNALS_SRC)/hcs/*-help.pd \
+ $(HELP_DEST)
+ install -p \
+ $(EXTERNALS_SRC)/hcs/*/doc/*.pd \
+ $(EXTERNALS_SRC)/hcs/hid/examples/*.pd \
+ $(EXTERNALS_SRC)/hcs/pan/*-help.pd \
+ $(EXTERNALS_SRC)/iem/*/*/*-help.pd \
+ $(EXTERNALS_SRC)/markex/*.pd \
+ $(EXTERNALS_SRC)/maxlib/help/*.* \
+ $(EXTERNALS_SRC)/mjlib/doc/*.pd \
+ $(EXTERNALS_SRC)/motex/*.pd \
+ $(EXTERNALS_SRC)/nusmuk/line3/*.pd\
+ $(HELP_DEST)
+ install -p \
+ $(EXTERNALS_SRC)/pdogg/*/*.pd \
+ $(EXTERNALS_SRC)/plugin~/*.pd \
+ $(EXTERNALS_SRC)/pmpd/help/*.pd\
+ $(EXTERNALS_SRC)/rhythm_estimator/*.p? \
+ $(EXTERNALS_SRC)/sprinkler/sprinkler-help.pd \
+ $(EXTERNALS_SRC)/susloop~/*.pd \
+ $(EXTERNALS_SRC)/svf~/*.pd \
+ $(EXTERNALS_SRC)/vbap/*.pd \
+ $(EXTERNALS_SRC)/vst/*.pd \
+ $(EXTERNALS_SRC)/zhzxh~/*.pd \
+ $(HELP_DEST)
#----------------------------------------------------------------------------
# IEMlib uses its own dir and since its not maintained in CVS
# its best not to change the objects
- install -d -m0755 $(DOC_DIR)/iemhelp
- install -p -m0644 ../../iemlib/iemhelp/*.* $(DOC_DIR)/iemhelp
+ install -d $(HELP_DEST)/iemhelp
+ install -p $(EXTERNALS_SRC)/iemlib/iemhelp/*.* $(HELP_DEST)/iemhelp
#----------------------------------------------------------------------------
# PMDP examples
- install -d -m0755 $(DOC_DIR)/pmpd
+ install -d $(HELP_DEST)/pmpd
# pmpd exemples files has to go in an other directory
- install -p -m0644 ../../pmpd/exemples/*.pd $(DOC_DIR)/pmpd
+ install -p $(EXTERNALS_SRC)/pmpd/exemples/*.pd $(HELP_DEST)/pmpd
# pmpd documentation
- cp -Rp ../../pmpd/doc $(DOC_DIR)/pmpd/doc
+ cp -Rp $(EXTERNALS_SRC)/pmpd/doc $(HELP_DEST)/pmpd/doc
#----------------------------------------------------------------------------
# zexy uses its own dir
- install -d -m0755 $(DOC_DIR)/zexy
- install -p -m0644 ../../zexy/zexy.pd $(DOC_DIR)
- install -p -m0644 ../../zexy/examples/*.* $(DOC_DIR)/zexy
+ install -d $(HELP_DEST)/zexy
+ install -p $(EXTERNALS_SRC)/zexy/zexy.pd $(HELP_DEST)
+ install -p $(EXTERNALS_SRC)/zexy/examples/*.* $(HELP_DEST)/zexy
#----------------------------------------------------------------------------
# iemmatrix uses its own dir
- install -d -m0755 $(DOC_DIR)/iemmatrix
- install -p -m0644 ../../iem/iemmatrix/doc/*.pd $(DOC_DIR)/iemmatrix
+ install -d $(HELP_DEST)/iemmatrix
+ install -p $(EXTERNALS_SRC)/iem/iemmatrix/doc/*.pd $(HELP_DEST)/iemmatrix
#----------------------------------------------------------------------------
# remove help files for objects that are not included due to conflicts, etc.
#
# mjlib [prob] conflicts with cyclone's [prob]
- rm prob-help.pd
+ rm $(HELP_DEST)/prob-help.pd
# maxlib conflicts with cyclone
- rm split-help.pd
+ rm $(HELP_DEST)/split-help.pd
#----------------------------------------------------------------------------
# this is mildly dangerous, since it just deletes everything
clean:
- rm -f -- *.pd *.ps *.txt test.som *~
- rm -Rf -- iemhelp zexy pmpd iemmatrix
+ cd $(HELP_DEST) && rm -f -- *.pd *.ps *.txt test.som *~
+ rm -Rf -- $(HELP_DEST)/iemhelp $(HELP_DEST)/zexy \
+ $(HELP_DEST)/pmpd $(HELP_DEST)/iemmatrix