aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2005-11-17 00:06:46 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2005-11-17 00:06:46 +0000
commit44ec3d0160d854fe1ed6f0c955135009efbba917 (patch)
tree9f9edcc629ffb5492f35e504305ad0d436860292
parentd351824253b1af0a53f9a628ee4a9628ab9720a2 (diff)
abstractions and externals/build/doc are now working as part of the centralized build system; also added is a way to specify Makefile.biuldlayout from the main Makefile, so then it doesn't realy matter if the other copies of Makefile.buildlayout get out of sync
svn path=/trunk/; revision=3952
-rw-r--r--packages/Makefile43
-rw-r--r--packages/Makefile.buildlayout28
2 files changed, 53 insertions, 18 deletions
diff --git a/packages/Makefile b/packages/Makefile
index 267a39bb..4b7db638 100644
--- a/packages/Makefile
+++ b/packages/Makefile
@@ -1,21 +1,36 @@
+#==============================================================================#
#
+# Centralized cross-platform build system
#
+# see README for instructions <hans@at.or.at>
#
+#==============================================================================#
-# these are setup to be overridden by the packages/*/Makefiles
-SRC_ROOT_DIR := $(shell pwd)/..
-INSTALL_PREFIX = $(SRC_ROOT_DIR)/packages/build
+CWD := $(shell pwd)
-# default target
-all: abstractions
+SRC_ROOT_DIR = $(CWD)/..
+INSTALL_PREFIX = $(SRC_ROOT_DIR)/packages/build
+BUILDLAYOUT_DIR = $(CWD)
-include Makefile.buildlayout
+# get the platform
+UNAME := $(shell uname)
-DST_PATHS = APPLICATIONS_DEST=$(APPLICATIONS_DEST) \
- DOCS_DEST=$(DOCS_DEST) \
- HELP_DEST=$(HELP_DEST) \
- MANUALS_DEST=$(MANUALS_DEST) \
- OBJECTS_DEST=$(OBJECTS_DEST)
+# default target
+all: abstractions doc externals gem pd
+ echo "Complete build succeeded!"
+
+include $(BUILDLAYOUT_DIR)/Makefile.buildlayout
+
+# these are sent to all of the various Makefiles so that they all copy their
+# output to the same directory tree
+DEST_PATHS = BUILDLAYOUT_DIR=$(BUILDLAYOUT_DIR) \
+ SRC_ROOT_DIR=$(SRC_ROOT_DIR) \
+ INSTALL_PREFIX=$(INSTALL_PREFIX)
+# APPLICATIONS_DEST=$(APPLICATIONS_DEST) \
+# DOCS_DEST=$(DOCS_DEST) \
+# HELP_DEST=$(HELP_DEST) \
+# MANUALS_DEST=$(MANUALS_DEST) \
+# OBJECTS_DEST=$(OBJECTS_DEST)
#==============================================================================#
#
@@ -26,7 +41,7 @@ DST_PATHS = APPLICATIONS_DEST=$(APPLICATIONS_DEST) \
#------------------------------------------------------------------------------
# abstractions
abstractions:
- make -f $(ABSTRACTIONS_SRC)/Makefile $(DST_PATHS) install
+ make -f $(ABSTRACTIONS_SRC)/Makefile $(DEST_PATHS) install
#------------------------------------------------------------------------------
# doc
@@ -37,7 +52,7 @@ doc:
# externals
externals:
# doc
- make -f $(EXTERNALS_SRC)/build/doc/makefile $(DST_PATHS) install
+ make -f $(EXTERNALS_SRC)/build/doc/makefile $(DEST_PATHS) install
#------------------------------------------------------------------------------
@@ -54,7 +69,7 @@ pd:
# CLEAN TARGETS
#==============================================================================#
abstractions_clean:
- make -f $(ABSTRACTIONS_SRC)/Makefile $(DST_PATHS) clean
+ make -f $(ABSTRACTIONS_SRC)/Makefile $(DEST_PATHS) clean
clean: abstractions_clean
-rm -f *~
diff --git a/packages/Makefile.buildlayout b/packages/Makefile.buildlayout
index 1fa2a0fc..a2e6ef06 100644
--- a/packages/Makefile.buildlayout
+++ b/packages/Makefile.buildlayout
@@ -1,9 +1,29 @@
-# 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. <hans@at.or.at>
+## Makefile.buildlayout
-# $(INSTALL_PREFIX) and $(SRC_ROOT_DIR) are set in Makefile
+# 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
+#
+# it will be going here too:
+# doc
+# extensions
+# gem
+# pd
+#
+# <hans@at.or.at>
# sources
ABSTRACTIONS_SRC = $(SRC_ROOT_DIR)/abstractions