Mercurial > oi > oi-build
changeset 59:7500d63edb42 build-158
7012375 userland build and proto areas should be outside of unpacked source dirs
author | Norm Jacobs <Norm.Jacobs@Sun.COM> |
---|---|
date | Fri, 14 Jan 2011 13:41:54 -0800 |
parents | d8024c042a00 |
children | 5e85cfafff25 |
files | 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 |
diffstat | 6 files changed, 61 insertions(+), 50 deletions(-) [+] |
line wrap: on
line diff
--- 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.