aboutsummaryrefslogtreecommitdiff
path: root/abstractions
diff options
context:
space:
mode:
Diffstat (limited to 'abstractions')
-rw-r--r--abstractions/Makefile31
-rwxr-xr-xabstractions/Makefile.buildlayout129
-rw-r--r--abstractions/README2
3 files changed, 141 insertions, 21 deletions
diff --git a/abstractions/Makefile b/abstractions/Makefile
index 235f98ca..a1a8769d 100644
--- a/abstractions/Makefile
+++ b/abstractions/Makefile
@@ -15,6 +15,7 @@ BUILDLAYOUT_DIR = $(CWD)
# default target
install: objects applications
+ echo "abstractions install succeeded!"
include $(BUILDLAYOUT_DIR)/Makefile.buildlayout
@@ -24,6 +25,7 @@ include $(BUILDLAYOUT_DIR)/Makefile.buildlayout
#
#==============================================================================#
+# clean up after everything is installed
final_setup:
chmod -R ugo-w $(INSTALL_PREFIX)
@@ -150,11 +152,13 @@ objects_nqpoly4:
NUSMUK_NAME = nusmuk
objects_nusmuk:
install -d $(OBJECTS_DEST)/$(NUSMUK_NAME)
- install -p $(shell ls -1 $(ABSTRACTIONS_SRC)/nusmuk/*.* | \
+ install -p $(shell ls -1 $(ABSTRACTIONS_SRC)/nusmuk/*.pd | \
grep -v '\-help.pd') $(OBJECTS_DEST)/$(NUSMUK_NAME)
install -d $(HELP_DEST)/$(NUSMUK_NAME)
install -p $(ABSTRACTIONS_SRC)/nusmuk/*-help.pd \
$(HELP_DEST)/$(NUSMUK_NAME)
+ install -p $(ABSTRACTIONS_SRC)/nusmuk/*.wav \
+ $(HELP_DEST)/$(NUSMUK_NAME)
#-------------------------------------------------------------------------------
@@ -173,8 +177,15 @@ applications_rradical:
install -d $(APPLICATIONS_DEST)/$(RRADICAL_NAME)
install -p $(ABSTRACTIONS_SRC)/rradical/usecases/*.* \
$(APPLICATIONS_DEST)/$(RRADICAL_NAME)
- cp -rp $(ABSTRACTIONS_SRC)/rradical/usecases/showcase \
- $(APPLICATIONS_DEST)/$(RRADICAL_NAME)/
+ install -d $(APPLICATIONS_DEST)/$(RRADICAL_NAME)/showcase
+ install -p $(ABSTRACTIONS_SRC)/rradical/usecases/showcase/*.* \
+ $(APPLICATIONS_DEST)/$(RRADICAL_NAME)/showcase
+ install -d $(APPLICATIONS_DEST)/$(RRADICAL_NAME)/showcase/impl
+ install -p $(ABSTRACTIONS_SRC)/rradical/usecases/showcase/impl/*.* \
+ $(APPLICATIONS_DEST)/$(RRADICAL_NAME)/showcase/impl
+ install -d $(APPLICATIONS_DEST)/$(RRADICAL_NAME)/showcase/songs
+ install -p $(ABSTRACTIONS_SRC)/rradical/usecases/showcase/songs/*.* \
+ $(APPLICATIONS_DEST)/$(RRADICAL_NAME)/showcase/songs
#==============================================================================#
#
@@ -198,18 +209,8 @@ devsymlinks_keyboardkeys:
#
#==============================================================================#
-objects_clean:
- -rm -rf $(OBJECTS_DEST) $(HELP_DEST)
-
-applications_clean:
- -rm -rf $(APPLICATIONS_DEST)
-
-
-clean: applications_clean objects_clean
- -rm -f *~
- rm -rf $(MANUALS_DEST)
- rmdir $(DOCS_DEST) $(INSTALL_PREFIX)
-
+# the destination-specific clean targets are in Makefile.buildlayout
+clean: install_clean cruft_clean
#==============================================================================#
#
diff --git a/abstractions/Makefile.buildlayout b/abstractions/Makefile.buildlayout
index a2e6ef06..a5a85e6d 100755
--- a/abstractions/Makefile.buildlayout
+++ b/abstractions/Makefile.buildlayout
@@ -1,6 +1,11 @@
-
-## Makefile.buildlayout
-
+#==============================================================================#
+#
+# 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
@@ -25,6 +30,39 @@
#
# <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
@@ -43,9 +81,13 @@ 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)
@@ -65,3 +107,80 @@ $(MANUALS_DEST): $(INSTALL_PREFIX)
$(OBJECTS_DEST): $(INSTALL_PREFIX)
install -d $(OBJECTS_DEST)
+
+#==============================================================================#
+#
+# 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
+
+
diff --git a/abstractions/README b/abstractions/README
index 0864a156..187a4382 100644
--- a/abstractions/README
+++ b/abstractions/README
@@ -149,7 +149,7 @@ $(OBJECTS_DEST):
"applications" targets:
This target is meant for any patch that is intended to be opened up and
- used, played, ran, etc. The RRADical showcase is a good example
+ used, played, ran, etc. The RRADical the-showcase.pd is a good example