make-rules/attpackagemake.mk
author Virginia Wray <virginia.wray@oracle.com>
Mon, 12 Aug 2013 11:30:04 -0700
changeset 1427 0b76fc564cd2
parent 1352 1358a1e1ff4c
child 2022 d590db614c66
child 3996 20c0f21bbe1e
permissions -rw-r--r--
17284016 nis, ldap, and dns refreshed on every Puppet run 17277145 nsswitch provider object error and missing parameter 17271383 NIS provider is not updating domainname property 17270555 NIS provider returns an error when attempting to set securenets parameter
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
789
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     1
#
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     2
# CDDL HEADER START
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     3
#
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     5
# Common Development and Distribution License (the "License").
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     6
# You may not use this file except in compliance with the License.
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     7
#
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    10
# See the License for the specific language governing permissions
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    11
# and limitations under the License.
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    12
#
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    18
#
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    19
# CDDL HEADER END
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    20
#
1352
1358a1e1ff4c 16921386 move to parfait 1.2.0.1
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 844
diff changeset
    21
# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
789
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    22
#
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    23
#
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    24
# Rules and Macros for building opens source software that uses AT&T's package
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    25
# tool.
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    26
#
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    27
# To use these rules, include ../make-rules/attpackagemake.mk in your Makefile
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    28
# and define "build", "install" targets appropriate to building your component.
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    29
# Ex:
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    30
#
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    31
# 	build:		$(BUILD_32) \
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    32
#	 		$(BUILD_64)
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    33
# 
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    34
#	install:	$(INSTALL_32) \
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    35
#	 		$(INSTALL_64)
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    36
#
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    37
# Any additional pre/post configure, build, or install actions can be specified
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    38
# in your Makefile by setting them in on of the following macros:
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    39
#	COMPONENT_PRE_BUILD_ACTION, COMPONENT_POST_BUILD_ACTION
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    40
#	COMPONENT_PRE_INSTALL_ACTION, COMPONENT_POST_INSTALL_ACTION
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    41
#
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    42
# If component specific make targets need to be used for build or install, they
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    43
# can be specified in
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    44
#	COMPONENT_BUILD_TARGETS, COMPONENT_INSTALL_TARGETS
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    45
#
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    46
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    47
# Environment variables and arguments passed into the build and install
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    48
# environment(s).  These are the initial settings.
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    49
COMPONENT_BUILD_ENV += \
844
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    50
    CC_EXPLICIT="$(CC)" \
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    51
	PATH=$(shell dirname $(CC)):$(PATH) \
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    52
	CC=$(shell basename $(CC)) 
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    53
	NPROC="$(NPROC)" 
789
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    54
844
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    55
# This explicitly exports the build type for 32/64 bit distinction 
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    56
COMPONENT_BUILD_ARGS = \
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    57
						HOSTTYPE="$(HOSTTYPE$(BITS))" \
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    58
						CCFLAGS="$(CFLAGS)" \
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    59
						LDFLAGS="$(CXXFLAGS)" 
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    60
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    61
# The install and test process needs the same environment as the build
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    62
COMPONENT_INSTALL_ENV = $(COMPONENT_BUILD_ENV)
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    63
COMPONENT_TEST_ENV = $(COMPONENT_BUILD_ENV)
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    64
COMPONENT_INSTALL_ARGS = HOSTTYPE="$(HOSTTYPE$(BITS))"
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    65
COMPONENT_TEST_ARGS = HOSTTYPE="$(HOSTTYPE$(BITS))"
789
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    66
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    67
# build the configured source
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    68
$(BUILD_DIR)/%/.built:	$(SOURCE_DIR)/.prep
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    69
	$(RM) -r $(@D) ; $(MKDIR) $(@D)
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    70
	$(CLONEY) $(SOURCE_DIR) $(@D)
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    71
	$(COMPONENT_PRE_BUILD_ACTION)
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    72
	cd $(@D); $(ENV) $(COMPONENT_BUILD_ENV) \
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    73
   		bin/package make $(COMPONENT_BUILD_TARGETS) $(COMPONENT_BUILD_ARGS)
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    74
	$(COMPONENT_POST_BUILD_ACTION)
1352
1358a1e1ff4c 16921386 move to parfait 1.2.0.1
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 844
diff changeset
    75
ifeq   ($(strip $(PARFAIT_BUILD)),yes)
1358a1e1ff4c 16921386 move to parfait 1.2.0.1
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 844
diff changeset
    76
	-$(PARFAIT) $(@D)
1358a1e1ff4c 16921386 move to parfait 1.2.0.1
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 844
diff changeset
    77
endif
789
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    78
	$(TOUCH) $@
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    79
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    80
# install the built source into a prototype area
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    81
$(BUILD_DIR)/%/.installed:	$(BUILD_DIR)/%/.built
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    82
	$(COMPONENT_PRE_INSTALL_ACTION)
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    83
	$(RM) -r $(PROTO_DIR)/$(MACH$(BITS)); $(MKDIR) $(PROTO_DIR)/$(MACH$(BITS));
844
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    84
	cd $(@D); $(ENV) $(COMPONENT_INSTALL_ENV) \
789
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    85
		bin/package flat $(COMPONENT_INSTALL_TARGETS) \
844
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    86
		$(COMPONENT_INSTALL_ARGS) \
789
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    87
		$(PROTO_DIR)/$(MACH$(BITS)) $(COMPONENT_INSTALL_PACKAGES) 
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    88
	$(COMPONENT_POST_INSTALL_ACTION)
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    89
	$(TOUCH) $@
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    90
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    91
# test the built source
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    92
$(BUILD_DIR)/%/.tested: $(BUILD_DIR)/%/.built
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    93
	$(COMPONENT_PRE_TEST_ACTION)
844
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    94
	cd $(@D); $(ENV) $(COMPONENT_TEST_ENV) \
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    95
		bin/package test $(COMPONENT_TEST_TARGETS) \
55358dcf0cb2 7169644 math functions in ksh93 behave differently from b15
Edwin Beasant <Edwin.Beasant@oracle.com>
parents: 789
diff changeset
    96
		$(COMPONENT_TEST_ARGS)
789
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    97
	$(COMPONENT_POST_TEST_ACTION)
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    98
	$(TOUCH) $@
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    99
1352
1358a1e1ff4c 16921386 move to parfait 1.2.0.1
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 844
diff changeset
   100
ifeq   ($(strip $(PARFAIT_BUILD)),yes)
1358a1e1ff4c 16921386 move to parfait 1.2.0.1
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 844
diff changeset
   101
parfait: build
1358a1e1ff4c 16921386 move to parfait 1.2.0.1
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 844
diff changeset
   102
else
1358a1e1ff4c 16921386 move to parfait 1.2.0.1
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 844
diff changeset
   103
parfait:
1358a1e1ff4c 16921386 move to parfait 1.2.0.1
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 844
diff changeset
   104
	$(MAKE) PARFAIT_BUILD=yes parfait
1358a1e1ff4c 16921386 move to parfait 1.2.0.1
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 844
diff changeset
   105
endif
1358a1e1ff4c 16921386 move to parfait 1.2.0.1
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 844
diff changeset
   106
789
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
   107
clean::
5f074ca23733 7106955 move ksh93 from ON to userland
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
   108
	$(RM) -r $(BUILD_DIR) $(PROTO_DIR)