aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--abstractions/Makefile31
-rwxr-xr-xabstractions/Makefile.buildlayout129
-rw-r--r--abstractions/README2
-rw-r--r--externals/Makefile43
-rw-r--r--externals/Makefile.buildlayout112
-rw-r--r--externals/README6
6 files changed, 259 insertions, 64 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
diff --git a/externals/Makefile b/externals/Makefile
index 5da699bf..56797d8e 100644
--- a/externals/Makefile
+++ b/externals/Makefile
@@ -39,7 +39,7 @@ DEST_PATHS = BUILDLAYOUT_DIR=$(BUILDLAYOUT_DIR) \
objects: objects_$(OS_NAME)
@echo "Compiling objects for $(OS_NAME) aka $(UNAME)"
# try it this way so that it'll recognize files that have already been built
- cd $(EXTERNALS_SRC)/build/$(OS_NAME) && make -k
+ cd $(EXTERNALS_SRC)/build/$(OS_NAME) && make -k
# these targets are for platform-specific needs
objects_darwin:
@@ -67,10 +67,11 @@ applications_install: $(APPLICATIONS_DEST)
$(APPLICATIONS_DEST)/$(IEMLIB_NAME)
# PMDP examples
install -d $(APPLICATIONS_DEST)/$(PMPD_NAME)
- install -p $(EXTERNALS_SRC)/pmpd/exemples/*.pd $(APPLICATIONS_DEST)/$(PMPD_NAME)
+ install -p $(EXTERNALS_SRC)/pmpd/exemples/*.pd \
+ $(APPLICATIONS_DEST)/$(PMPD_NAME)
-docs_install: $(HELP_DEST)
+help_install: $(HELP_DEST)
#------------------------------------------------------------------------------#
# all standard objs' help files
# it had to be broken up because the list is soo long
@@ -173,8 +174,9 @@ objects_install: objects
-install: $(OBJECTS_DEST) docs_install applications_install objects_install
+install: $(OBJECTS_DEST) help_install applications_install objects_install
install: manuals_install
+ @echo "externals install succeeded!"
#==============================================================================#
#
@@ -186,34 +188,5 @@ install: manuals_install
devsymlinks:
-#==============================================================================#
-#
-# CLEAN TARGETS
-#
-#==============================================================================#
-
-applications_clean:
- rm $(APPLICATIONS_DEST)/*/*.*
- rmdir $(APPLICATIONS_DEST)/*
- rmdir $(APPLICATIONS_DEST)
-
-docs_clean:
- -rm $(HELP_DEST)/*.* $(HELP_DEST)/*/*.*
- rmdir $(HELP_DEST)/*
-
-manuals_clean:
- rm $(MANUALS_DEST)/*/*.*
- rmdir $(MANUALS_DEST)/*
- rmdir $(MANUALS_DEST)
-
-objects_clean:
- rm $(OBJECTS_DEST)/*.pd
- rm $(OBJECTS_DEST)/*/*.pd
- rm $(OBJECTS_DEST)/*.$(EXTENSION)
-# for upcoming lib directory structure
- -rm $(OBJECTS_DEST)/*/*.$(EXTENSION)
- rmdir $(OBJECTS_DEST)/*
-
-clean: applications_clean docs_clean manuals_clean objects_clean
- rmdir $(DOCS_DEST)/*
- rmdir $(DOCS_DEST)
+# FYI: clean targets are in Makefile.buildlayout
+clean: install_clean cruft_clean
diff --git a/externals/Makefile.buildlayout b/externals/Makefile.buildlayout
index 5a2ec76c..a5a85e6d 100644
--- a/externals/Makefile.buildlayout
+++ b/externals/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,9 +30,11 @@
#
# <hans@at.or.at>
-#------------------------------------------------------------------------------#
-# PLATFORM-SPECIFIC SETTINGS
-#------------------------------------------------------------------------------#
+#==============================================================================#
+#
+## PLATFORM-SPECIFIC SETTINGS
+#
+#==============================================================================#
# which OS to compile for
UNAME := $(shell uname -s)
ifeq ($(UNAME),Linux)
@@ -49,6 +56,13 @@ else
endif
endif
+
+#==============================================================================#
+#
+# DIRECTORY STRUCTURE
+#
+#==============================================================================#
+
# sources
ABSTRACTIONS_SRC = $(SRC_ROOT_DIR)/abstractions
DOC_SRC = $(SRC_ROOT_DIR)/doc
@@ -67,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)
@@ -88,3 +106,81 @@ $(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/externals/README b/externals/README
new file mode 100644
index 00000000..9a86e6ca
--- /dev/null
+++ b/externals/README
@@ -0,0 +1,6 @@
+
+See docs on this page for instructions:
+
+http://puredata.org/docs/developer/
+
+<hans@at.or.at>