diff options
-rw-r--r-- | abstractions/Makefile | 31 | ||||
-rwxr-xr-x | abstractions/Makefile.buildlayout | 129 | ||||
-rw-r--r-- | abstractions/README | 2 | ||||
-rw-r--r-- | externals/Makefile | 43 | ||||
-rw-r--r-- | externals/Makefile.buildlayout | 112 | ||||
-rw-r--r-- | externals/README | 6 |
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> |