Makefile revision 2520
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove#
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove# CDDL HEADER START
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove#
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove# The contents of this file are subject to the terms of the
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove# Common Development and Distribution License (the "License").
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove# You may not use this file except in compliance with the License.
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove#
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove# or http://www.opensolaris.org/os/licensing.
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove# See the License for the specific language governing permissions
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove# and limitations under the License.
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove#
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove# When distributing Covered Code, include this CDDL HEADER in each
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove# If applicable, add the following below this CDDL HEADER, with the
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove# fields enclosed by brackets "[]" replaced with your own identifying
e0bd6b490d14919b958622a831bfadbf322397baRyan Grove# information: Portions Copyright [yyyy] [name of copyright owner]
e0bd6b490d14919b958622a831bfadbf322397baRyan Grove#
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove# CDDL HEADER END
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove#
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove#
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Groveinclude ../../../make-rules/shared-macros.mk
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove# $(WS_TOP)/make-rules/ips.mk really isn't set up to allow you to bypass all
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove# the automatic (and lengthy) manifest manipulation that it does, which we
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove# really don't need to do for these static, uninteresting packages. So we just
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove# write a simple set of publication rules to get the packages into the repo.
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan GrovePKGSEND = /usr/bin/pkgsend
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan GrovePKGLINT = /usr/bin/pkglint
45490685ca09e86b69dc49a42f0d61a43fcb921aRyan GrovePKGMOGRIFY = /usr/bin/pkgmogrify
45490685ca09e86b69dc49a42f0d61a43fcb921aRyan Grove
45490685ca09e86b69dc49a42f0d61a43fcb921aRyan GroveCOMPONENT_NAME= "Package History"
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan GroveCOMPONENT_BUGDB= gate-stuff/userland
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan GroveCANONICAL_MANIFESTS = $(wildcard *.p5m)
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan GroveARCH_MANIFESTS = $(wildcard *.p5m.$(MACH))
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan GroveGENERATED_ARCH_MANIFESTS = $(ARCH_MANIFESTS:%.p5m.$(MACH)=%.p5m)
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan GroveCANONICAL_MANIFESTS += $(GENERATED_ARCH_MANIFESTS)
1442be8e9c34fb5a7f7f12aa504ce8038ed40eddRyan Grove
1442be8e9c34fb5a7f7f12aa504ce8038ed40eddRyan GroveMANIFEST_BASE = $(BUILD_DIR)/manifest-$(MACH)
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan GroveMOGRIFIED = $(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.mogrified)
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan GrovePUBLISHED = $(CANONICAL_MANIFESTS:%.p5m=$(MANIFEST_BASE)-%.published)
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan GroveASLR_MODE = $(ASLR_NOT_APPLICABLE)
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grovedownload prep build install:
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove @echo "nothing to be done for $@"
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove$(BUILD_DIR):
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove $(MKDIR) $@
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove$(MANIFEST_BASE)-%.mogrified: %.p5m $(BUILD_DIR)
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove $(PKGMOGRIFY) -D CONSOLIDATION=$(CONSOLIDATION) $< > $@
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove$(MANIFEST_BASE)-%.published: $(MANIFEST_BASE)-%.mogrified $(BUILD_DIR)
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove $(PKGSEND) -s $(PKG_REPO) publish --fmri-in-manifest --no-catalog $<
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove $(CP) $< $@
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove$(BUILD_DIR)/.linted-$(MACH): $(MOGRIFIED) $(BUILD_DIR)
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove $(ENV) PYTHONPATH=$(WS_TOOLS)/python \
c5eeeb5cc5fdca25f16cb4f2fd3e59dd0f937debRyan Grove SOLARIS_VERSION=$(SOLARIS_VERSION) \
$(PKGLINT) $(CANONICAL_REPO:%=-c $(WS_LINT_CACHE)) \
-f $(WS_TOOLS)/pkglintrc $(MOGRIFIED)
$(TOUCH) $@
$(BUILD_DIR)/.published-$(MACH): $(BUILD_DIR)/.linted-$(MACH) $(PUBLISHED)
ifndef DISABLE_IPS_CATALOG_AND_INDEX_UPDATES
$(PKGREPO) refresh -s $(PKG_REPO)
endif
$(TOUCH) $@
publish: $(BUILD_DIR)/.published-$(MACH)
%.p5m: %.p5m.$(MACH)
$(CP) $< $@
clobber clean:
$(RM) -r $(BUILD_DIR) $(GENERATED_ARCH_MANIFESTS)