From 44ec3d0160d854fe1ed6f0c955135009efbba917 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 17 Nov 2005 00:06:46 +0000 Subject: 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 --- packages/Makefile | 43 +++++++++++++++++++++++++++++-------------- packages/Makefile.buildlayout | 28 ++++++++++++++++++++++++---- 2 files changed, 53 insertions(+), 18 deletions(-) (limited to 'packages') 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 # +#==============================================================================# -# 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. +## 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 +# +# # sources ABSTRACTIONS_SRC = $(SRC_ROOT_DIR)/abstractions -- cgit v1.2.1