7012375 userland build and proto areas should be outside of unpacked source dirs build-158
authorNorm Jacobs <Norm.Jacobs@Sun.COM>
Fri, 14 Jan 2011 13:41:54 -0800
changeset 59 7500d63edb42
parent 58 d8024c042a00
child 60 5e85cfafff25
7012375 userland build and proto areas should be outside of unpacked source dirs
components/a2ps/Makefile
make-rules/configure.mk
make-rules/ips.mk
make-rules/prep.mk
make-rules/setup.py.mk
make-rules/shared-macros.mk
--- a/components/a2ps/Makefile	Fri Jan 14 13:12:28 2011 -0800
+++ b/components/a2ps/Makefile	Fri Jan 14 13:41:54 2011 -0800
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../make-rules/shared-macros.mk
 
@@ -45,11 +45,15 @@
 
 # because viewpathing isn't quite right in this version of a2ps
 COMPONENT_PREP_ACTION = \
-	(cd $(@D) ; ln -s auxdir/mkinstalldirs)
+	(cd $(@D) ; ln -s $(SOURCE_DIR)/auxdir/mkinstalldirs)
 COMPONENT_POST_CONFIGURE_ACTION = \
 	(cd $(@D)/doc ; \
-	 ln -s ../../doc/make-authors.pl ; \
-	 ln -s ../../doc/translators.txt)
+	 ln -s $(SOURCE_DIR)/doc/make-authors.pl ; \
+	 ln -s $(SOURCE_DIR)/doc/translators.txt) ; \
+	(cd $(@D)/sheets ; \
+	 for sheet in $(SOURCE_DIR)/sheets/*.ssh ; do ; \
+	     ln -s $$sheet ; \
+	 done)
 
 SFWPROGS =	a2ps card composeglyphs fixnt fixps ogonkify pdiff psmandup \
 		psset texi2dvi4a2ps
--- a/make-rules/configure.mk	Fri Jan 14 13:12:28 2011 -0800
+++ b/make-rules/configure.mk	Fri Jan 14 13:41:54 2011 -0800
@@ -31,11 +31,11 @@
 # and define "build", "install" targets appropriate to building your component.
 # Ex:
 #
-# 	build:		$(COMPONENT_SRC)/build-$(MACH32)/.built \
-#	 		$(COMPONENT_SRC)/build-$(MACH64)/.built
+# 	build:		$(SOURCE_DIR)/build/$(MACH32)/.built \
+#	 		$(SOURCE_DIR)/build/$(MACH64)/.built
 # 
-#	install:	$(COMPONENT_SRC)/build-$(MACH32)/.installed \
-#	 		$(COMPONENT_SRC)/build-$(MACH64)/.installed
+#	install:	$(SOURCE_DIR)/build/$(MACH32)/.installed \
+#	 		$(SOURCE_DIR)/build/$(MACH64)/.installed
 #
 # Any additional pre/post configure, build, or install actions can be specified
 # in your make file by setting them in on of the following macros:
@@ -73,8 +73,8 @@
 
 COMPONENT_INSTALL_ARGS +=	DESTDIR=$(PROTO_DIR)
 
-$(COMPONENT_SRC)/build-$(MACH32)/.configured:	BITS=32
-$(COMPONENT_SRC)/build-$(MACH64)/.configured:	BITS=64
+$(BUILD_DIR)/$(MACH32)/.configured:	BITS=32
+$(BUILD_DIR)/$(MACH64)/.configured:	BITS=64
 
 CONFIGURE_OPTIONS += $(CONFIGURE_OPTIONS.$(BITS))
 
@@ -82,16 +82,16 @@
 COMPONENT_INSTALL_TARGETS =	install
 
 # configure the unpacked source for building 32 and 64 bit version
-$(COMPONENT_SRC)/build-%/.configured:	$(COMPONENT_SRC)/.prep
+$(BUILD_DIR)/%/.configured:	$(SOURCE_DIR)/.prep
 	($(RM) -rf $(@D) ; $(MKDIR) $(@D))
 	$(COMPONENT_PRE_CONFIGURE_ACTION)
 	(cd $(@D) ; $(ENV) $(CONFIGURE_ENV) $(CONFIG_SHELL) \
-		../configure $(CONFIGURE_OPTIONS))
+		$(SOURCE_DIR)/configure $(CONFIGURE_OPTIONS))
 	$(COMPONENT_POST_CONFIGURE_ACTION)
 	$(TOUCH) $@
 
 # build the configured source
-$(COMPONENT_SRC)/build-%/.built:	$(COMPONENT_SRC)/build-%/.configured
+$(BUILD_DIR)/%/.built:	$(BUILD_DIR)/%/.configured
 	$(COMPONENT_PRE_BUILD_ACTION)
 	(cd $(@D) ; $(ENV) $(COMPONENT_BUILD_ENV) \
 		$(GMAKE) $(COMPONENT_BUILD_TARGETS))
@@ -99,9 +99,12 @@
 	$(TOUCH) $@
 
 # install the built source into a prototype area
-$(COMPONENT_SRC)/build-%/.installed:	$(COMPONENT_SRC)/build-%/.built
+$(BUILD_DIR)/%/.installed:	$(BUILD_DIR)/%/.built
 	$(COMPONENT_PRE_INSTALL_ACTION)
 	(cd $(@D) ; $(ENV) $(COMPONENT_INSTALL_ENV) $(GMAKE) \
 			$(COMPONENT_INSTALL_ARGS) $(COMPONENT_INSTALL_TARGETS))
 	$(COMPONENT_POST_INSTALL_ACTION)
 	$(TOUCH) $@
+
+clean::
+	$(RM) -r $(BUILD_DIR) $(PROTO_DIR)
--- a/make-rules/ips.mk	Fri Jan 14 13:12:28 2011 -0800
+++ b/make-rules/ips.mk	Fri Jan 14 13:41:54 2011 -0800
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2010, Oracle and/or it's affiliates.  All rights reserved.
+# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 
 #
@@ -29,8 +29,8 @@
 # and define an "install" target appropriate to building your component.
 # Ex:
 #
-#	install:	$(COMPONENT_SRC)/build-$(MACH32)/.installed \
-#	 		$(COMPONENT_SRC)/build-$(MACH64)/.installed
+#	install:	$(BUILD_DIR)/build/$(MACH32)/.installed \
+#	 		$(BUILD_DIR)/build/$(MACH64)/.installed
 #
 # This set of rules makes the "publish" target the default target for make(1)
 #
@@ -81,7 +81,7 @@
 PKG_OPTIONS +=		-D COMPONENT_DESCRIPTION=$(COMPONENT_DESCRIPTION)
 PKG_OPTIONS +=		-D COMPONENT_CLASSIFICATION=$(COMPONENT_CLASSIFICATION)
 
-MANIFEST_BASE =		$(COMPONENT_SRC)/manifest-$(MACH)
+MANIFEST_BASE =		$(BUILD_DIR)/manifest-$(MACH)
 
 CANONICAL_MANIFESTS =	$(wildcard *.p5m)
 GENERATED =		$(MANIFEST_BASE)-generated
@@ -105,7 +105,7 @@
 
 .SECONDARY:
 
-publish:		install $(COMPONENT_SRC)/.published
+publish:		install $(BUILD_DIR)/.published
 
 sample-manifest:	$(GENERATED).p5m
 
@@ -151,7 +151,7 @@
 		-d $(PROTO_DIR) -d $(@D) -d . $<
 	$(PKGFMT) <$< >$@
 
-$(COMPONENT_SRC)/.published:	$(PUBLISHED)
+$(BUILD_DIR)/.published:	$(PUBLISHED)
 	$(TOUCH) $@
 
 print-package-names:	canonical-manifests
--- a/make-rules/prep.mk	Fri Jan 14 13:12:28 2011 -0800
+++ b/make-rules/prep.mk	Fri Jan 14 13:41:54 2011 -0800
@@ -18,21 +18,21 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2010, Oracle and/or it's affiliates.  All rights reserved.
+# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 
 UNPACK =	$(WS_TOOLS)/userland-unpack
 FETCH =		$(WS_TOOLS)/userland-fetch
 
 ARCHIVES += $(COMPONENT_ARCHIVE)
-CLEAN_PATHS += $(COMPONENT_SRC)
+CLEAN_PATHS += $(SOURCE_DIR)
 CLOBBER_PATHS += $(COMPONENT_ARCHIVE)
 
 PATCHES =	$(shell find . -type f -name '*.patch' | \
-			 sed -e 's;^\./;;' | grep -v $(COMPONENT_SRC) | sort)
-STAMPS =	$(PATCHES:%=$(COMPONENT_SRC)/.%ed)
+			 sed -e 's;^\./;;' | grep -v $(SOURCE_DIR) | sort)
+STAMPS =	$(PATCHES:%=$(SOURCE_DIR)/.%ed)
 
-$(COMPONENT_SRC)/.%ed:	%
+$(SOURCE_DIR)/.%ed:	%
 	$(GPATCH) -d $(@D) $(GPATCH_FLAGS) < $<
 	$(TOUCH) $@
 
@@ -42,19 +42,19 @@
 		$(COMPONENT_ARCHIVE_HASH:%=--hash %)
 	$(TOUCH) $@
 
-$(COMPONENT_SRC)/.unpacked:	$(USERLAND_ARCHIVES)$(COMPONENT_ARCHIVE) Makefile $(PATCHES)
-	$(RM) -r $(COMPONENT_SRC)
+$(SOURCE_DIR)/.unpacked:	$(USERLAND_ARCHIVES)$(COMPONENT_ARCHIVE) Makefile $(PATCHES)
+	$(RM) -r $(SOURCE_DIR)
 	$(UNPACK) $(UNPACK_ARGS) $(USERLAND_ARCHIVES)$(COMPONENT_ARCHIVE)
 	$(TOUCH) $@
 
-$(COMPONENT_SRC)/.patched:	$(COMPONENT_SRC)/.unpacked $(STAMPS)
+$(SOURCE_DIR)/.patched:	$(SOURCE_DIR)/.unpacked $(STAMPS)
 	$(TOUCH) $@
 
-$(COMPONENT_SRC)/.prep:	$(COMPONENT_SRC)/.patched
+$(SOURCE_DIR)/.prep:	$(SOURCE_DIR)/.patched
 	$(COMPONENT_PREP_ACTION)
 	$(TOUCH) $@
 
-prep::	$(COMPONENT_SRC)/.prep
+prep::	$(SOURCE_DIR)/.prep
 
 download::	$(USERLAND_ARCHIVES)$(COMPONENT_ARCHIVE)
 
--- a/make-rules/setup.py.mk	Fri Jan 14 13:12:28 2011 -0800
+++ b/make-rules/setup.py.mk	Fri Jan 14 13:41:54 2011 -0800
@@ -21,26 +21,27 @@
 # Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
 #
 
-$(COMPONENT_SRC)/build-%-2.6/.built:		PYTHON_VERSION=2.6
-$(COMPONENT_SRC)/build-$(MACH32)-%/.built:	BITS=32
-$(COMPONENT_SRC)/build-$(MACH64)-%/.built:	BITS=64
+$(BUILD_DIR)/%-2.6/.built:		PYTHON_VERSION=2.6
+$(BUILD_DIR)/$(MACH32)-%/.built:	BITS=32
+$(BUILD_DIR)/$(MACH64)-%/.built:	BITS=64
 
-$(COMPONENT_SRC)/build-%-2.6/.installed:	PYTHON_VERSION=2.6
-$(COMPONENT_SRC)/build-$(MACH32)-%/.installed:	BITS=32
-$(COMPONENT_SRC)/build-$(MACH64)-%/.installed:	BITS=64
+$(BUILD_DIR)/%-2.6/.installed:	PYTHON_VERSION=2.6
+$(BUILD_DIR)/$(MACH32)-%/.installed:	BITS=32
+$(BUILD_DIR)/$(MACH64)-%/.installed:	BITS=64
 
-BUILD_32 = $(PYTHON_VERSIONS:%=$(COMPONENT_SRC)/build-$(MACH32)-%/.built)
-BUILD_64 = $(PYTHON_VERSIONS:%=$(COMPONENT_SRC)/build-$(MACH64)-%/.built)
+BUILD_32 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH32)-%/.built)
+BUILD_64 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.built)
 
-INSTALL_32 = $(PYTHON_VERSIONS:%=$(COMPONENT_SRC)/build-$(MACH32)-%/.installed)
-INSTALL_64 = $(PYTHON_VERSIONS:%=$(COMPONENT_SRC)/build-$(MACH64)-%/.installed)
+INSTALL_32 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH32)-%/.installed)
+INSTALL_64 = $(PYTHON_VERSIONS:%=$(BUILD_DIR)/$(MACH64)-%/.installed)
 
 # build the configured source
-$(COMPONENT_SRC)/build-%/.built:	$(COMPONENT_SRC)/.prep
+$(BUILD_DIR)/%/.built:	$(SOURCE_DIR)/.prep
 	$(RM) -r $(@D) ; $(MKDIR) $(@D)
 	$(COMPONENT_PRE_BUILD_ACTION)
-	(cd $(COMPONENT_SRC) ; $(ENV) $(PYTHON_ENV) \
-		$(PYTHON.$(BITS)) ./setup.py build --build-temp $(@D:$(COMPONENT_SRC)/%=%))
+	(cd $(SOURCE_DIR) ; $(ENV) $(PYTHON_ENV) \
+		$(PYTHON.$(BITS)) ./setup.py build \
+			--build-temp $(@D:$(BUILD_DIR)/%=%))
 	$(COMPONENT_POST_BUILD_ACTION)
 	$(TOUCH) $@
 
@@ -50,9 +51,9 @@
 PYTHON_LIB= /usr/lib/python$(PYTHON_VERSION)/vendor-packages
 
 # install the built source into a prototype area
-$(COMPONENT_SRC)/build-%/.installed:	$(COMPONENT_SRC)/build-%/.built
+$(BUILD_DIR)/%/.installed:	$(BUILD_DIR)/%/.built
 	$(COMPONENT_PRE_INSTALL_ACTION)
-	(cd $(COMPONENT_SRC) ; $(ENV) $(PYTHON_ENV) \
+	(cd $(SOURCE_DIR) ; $(ENV) $(PYTHON_ENV) \
 		$(PYTHON.$(BITS)) ./setup.py install --root $(PROTO_DIR) \
 			--install-lib=$(PYTHON_LIB))
 	$(COMPONENT_POST_INSTALL_ACTION)
--- a/make-rules/shared-macros.mk	Fri Jan 14 13:12:28 2011 -0800
+++ b/make-rules/shared-macros.mk	Fri Jan 14 13:41:54 2011 -0800
@@ -55,7 +55,10 @@
 BASS_O_MATIC =	$(WS_TOOLS)/bass-o-matic
 
 PKG_REPO =	file:$(WS_REPO)
-PROTO_DIR =	$(shell pwd)/$(COMPONENT_SRC)/installed-prototype-$(MACH)
+
+SOURCE_DIR =	$(shell pwd)/$(COMPONENT_SRC)
+BUILD_DIR =	$(shell pwd)/build
+PROTO_DIR =	$(BUILD_DIR)/prototype/$(MACH)
 
 SFWBIN =	/usr/sfw/bin
 SFWLIB =	/usr/sfw/lib
@@ -80,12 +83,12 @@
 MACH64_1 =	$(MACH:sparc=sparcv9)
 MACH64 =	$(MACH64_1:i386=amd64)
 
-BUILD_32 =		$(COMPONENT_SRC)/build-$(MACH32)/.built
-BUILD_64 =		$(COMPONENT_SRC)/build-$(MACH64)/.built
+BUILD_32 =		$(BUILD_DIR)/$(MACH32)/.built
+BUILD_64 =		$(BUILD_DIR)/$(MACH64)/.built
 BUILD_32_and_64 =	$(BUILD_32) $(BUILD_64)
 
-INSTALL_32 =		$(COMPONENT_SRC)/build-$(MACH32)/.installed
-INSTALL_64 =		$(COMPONENT_SRC)/build-$(MACH64)/.installed
+INSTALL_32 =		$(BUILD_DIR)/$(MACH32)/.installed
+INSTALL_64 =		$(BUILD_DIR)/$(MACH64)/.installed
 INSTALL_32_and_64 =	$(INSTALL_32) $(INSTALL_64)
 
 # BUILD_TOOLS is the root of all tools not normally installed on the system.