aboutsummaryrefslogtreecommitdiff
path: root/externals/Makefile.buildlayout
diff options
context:
space:
mode:
Diffstat (limited to 'externals/Makefile.buildlayout')
-rw-r--r--externals/Makefile.buildlayout90
1 files changed, 90 insertions, 0 deletions
diff --git a/externals/Makefile.buildlayout b/externals/Makefile.buildlayout
new file mode 100644
index 00000000..5a2ec76c
--- /dev/null
+++ b/externals/Makefile.buildlayout
@@ -0,0 +1,90 @@
+
+## 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>
+
+#------------------------------------------------------------------------------#
+# PLATFORM-SPECIFIC SETTINGS
+#------------------------------------------------------------------------------#
+# which OS to compile for
+UNAME := $(shell uname -s)
+ifeq ($(UNAME),Linux)
+ OS_NAME = linux
+ EXTENSION = pd_linux
+else
+ ifeq ($(UNAME),Darwin)
+ OS_NAME = darwin
+ EXTENSION = pd_darwin
+ else
+ ifeq (MINGW,$(findstring MINGW,$(UNAME)))
+ OS_NAME = win
+ EXTENSION = dll
+ else
+ OS_NAME = unknown
+ EXTENSION = so
+ $(warning WARNING: unknown environment "$(UNAME)".)
+ endif
+ endif
+endif
+
+# 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)