aboutsummaryrefslogtreecommitdiff
path: root/extensions
diff options
context:
space:
mode:
Diffstat (limited to 'extensions')
-rw-r--r--extensions/Makefile.buildlayout213
1 files changed, 213 insertions, 0 deletions
diff --git a/extensions/Makefile.buildlayout b/extensions/Makefile.buildlayout
new file mode 100644
index 00000000..921a7959
--- /dev/null
+++ b/extensions/Makefile.buildlayout
@@ -0,0 +1,213 @@
+#==============================================================================#
+#
+# Centralized cross-platform build system Makefile.buildsystem
+#
+# this file contains all the common locations and targets
+# <hans@at.or.at>
+#
+#==============================================================================#
+# 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
+# doc
+#
+# it will be going here too:
+# 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
+
+#==============================================================================#
+#
+# DIRECTORY STRUCTURE
+#
+#==============================================================================#
+
+# 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
+PACKAGES_SRC = $(SRC_ROOT_DIR)/packages
+PD_SRC = $(SRC_ROOT_DIR)/pd
+SCRIPTS_SRC = $(SRC_ROOT_DIR)/scripts
+
+
+# destinations
+APPLICATIONS_DEST = $(DOCS_DEST)/examples
+BIN_DEST = $(INSTALL_PREFIX)/bin
+DOCS_DEST = $(INSTALL_PREFIX)/doc
+INCLUDE_DEST = $(INSTALL_PREFIX)/include
+LIB_DEST = $(INSTALL_PREFIX)/lib
+MAN_DEST = $(INSTALL_PREFIX)/man
+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)
+
+
+#==============================================================================#
+#
+# PD VERSION AND PACKAGE NAMING
+#
+#==============================================================================#
+
+
+PD_MAJOR_VERSION := $(shell grep 'Pd version' $(PD_SRC)/src/s_main.c | \
+ sed 's/char pd_version\[\] = "Pd version \([0-9]\)\.[0-9]*[. TES-]*[0-9]*[0-9extndRC.-]*\\n";/\1/')
+PD_MINOR_VERSION := $(shell grep 'Pd version' $(PD_SRC)/src/s_main.c | \
+ sed 's/char pd_version\[\] = "Pd version [0-9]\.\([0-9]*\)[. TES-]*\([0-9]*\)[0-9extndRC.-]*\\n";/\1/')
+PD_BUGFIX_VERSION := $(shell grep 'Pd version' $(PD_SRC)/src/s_main.c | \
+ sed 's/char pd_version\[\] = "Pd version [0-9]\.[0-9]*[. TES-]*\([0-9]*\)[0-9extndRC.-]*\\n";/\1/')
+# the separators [.-] need to be the same as in s_main.c or the regexps break
+PD_VERSION = $(PD_MAJOR_VERSION).$(PD_MINOR_VERSION).$(PD_BUGFIX_VERSION)
+
+
+# release version for this distro
+PACKAGE_VERSION = extended-RC4
+PACKAGE_NAME = Pd-$(PD_VERSION)-$(PACKAGE_VERSION)
+
+
+
+#==============================================================================#
+#
+# CLEAN TARGETS
+#
+#==============================================================================#
+
+applications_clean:
+ -rm -f -- $(APPLICATIONS_DEST)/*/*/*/*/*.*
+ -rm -f -- $(APPLICATIONS_DEST)/*/*/*/*.*
+ -rm -f -- $(APPLICATIONS_DEST)/*/*/*.*
+ -rm -f -- $(APPLICATIONS_DEST)/*/*.*
+ -rmdir $(APPLICATIONS_DEST)/*/*/*/*
+ -rmdir $(APPLICATIONS_DEST)/*/*/*
+ -rmdir $(APPLICATIONS_DEST)/*/*
+ -rmdir $(APPLICATIONS_DEST)/*
+ -rmdir $(APPLICATIONS_DEST)
+
+
+help_clean:
+ -rm -f -- $(HELP_DEST)/*/*/*.*
+ -rm -f -- $(HELP_DEST)/*/*.*
+ -rm -f -- $(HELP_DEST)/*.*
+ -rmdir $(HELP_DEST)/*/*
+ -rmdir $(HELP_DEST)/*
+ -rmdir $(HELP_DEST)
+
+
+manuals_clean:
+ -rm -f -- $(MANUALS_DEST)/*/*/*.*
+ -rm -f -- $(MANUALS_DEST)/*/*.*
+ -rmdir $(MANUALS_DEST)/*/*
+ -rmdir $(MANUALS_DEST)/*
+ -rmdir $(MANUALS_DEST)
+
+
+objects_clean:
+ -rm $(OBJECTS_DEST)/*/*/*.pd
+ -rm $(OBJECTS_DEST)/*/*.pd
+ -rm $(OBJECTS_DEST)/*.pd
+ -rm $(OBJECTS_DEST)/*/*/*.$(EXTENSION)
+ -rm $(OBJECTS_DEST)/*/*.$(EXTENSION)
+ -rm $(OBJECTS_DEST)/*.$(EXTENSION)
+ -rmdir $(OBJECTS_DEST)/*/*
+ -rmdir $(OBJECTS_DEST)/*
+ -rmdir $(OBJECTS_DEST)
+
+
+install_clean: applications_clean help_clean manuals_clean objects_clean
+ -rmdir $(DOCS_DEST)
+ -rmdir $(INSTALL_PREFIX)
+ @echo " "
+ @echo "Build destination cleaned: $(INSTALL_PREFIX)"
+
+
+cruft_clean:
+# emacs litter
+ -rm -f -- */*/*/*/*.*~
+ -rm -f -- */*/*/*.*~
+ -rm -f -- */*/*.*~
+ -rm -f -- */*.*~
+ -rm -f -- *.*~
+ -rm -f -- Makefile~ Makefile.buildlayout~
+# sed replace litter
+ -rm -f -- */*/*/*/*.*.bak
+ -rm -f -- */*/*/*.*.bak
+ -rm -f -- */*/*.*.bak
+ -rm -f -- */*.*.bak
+ -rm -f -- *.*.bak
+# autoconf cache
+ -rm -rf -- */*/*/*/autom4te.cache
+ -rm -rf -- */*/*/autom4te.cache
+ -rm -rf -- */*/autom4te.cache
+ -rm -rf -- */autom4te.cache
+ -rm -rf -- autom4te.cache
+
+