From d4eb4cb7fda774d4b114888a1c694db0575bdf24 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 18 Nov 2005 18:19:40 +0000 Subject: clean targets sorted and tested. There are now standard clean targets based on the destinations which are part of Makefile.buildlayout svn path=/trunk/; revision=3965 --- abstractions/Makefile | 31 ++++----- abstractions/Makefile.buildlayout | 129 ++++++++++++++++++++++++++++++++++++-- abstractions/README | 2 +- 3 files changed, 141 insertions(+), 21 deletions(-) (limited to 'abstractions') 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 +# +# +#==============================================================================# # 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 @@ # # +#==============================================================================# +# +## 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 -- cgit v1.2.1