usr/src/Makefile.master
author Rod Evans <Rod.Evans@Sun.COM>
Thu, 07 May 2009 16:01:18 -0700
changeset 9569 5657927bc642
parent 9507 e6271d3ec9f2
child 10030 93a7ff2e6767
permissions -rw-r--r--
6806791 filter builds could be optimized 6823371 calloc() uses suboptimal memset() causing 15% regression in SpecCPU2006 gcc code
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     1
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     2
# CDDL HEADER START
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     3
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
580
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
     5
# Common Development and Distribution License (the "License").
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
     6
# You may not use this file except in compliance with the License.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     7
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    10
# See the License for the specific language governing permissions
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    11
# and limitations under the License.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    12
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    18
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    19
# CDDL HEADER END
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    20
#
580
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
    21
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    22
#
8731
accad831e993 4875943 NOTE() lint directives don't work in ON
James Carlson <james.d.carlson@sun.com>
parents: 7887
diff changeset
    23
# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    24
# Use is subject to license terms.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    25
#
580
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
    26
#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    27
# Makefile.master, global definitions for system source
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    28
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    29
ROOT=		/proto
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    30
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    31
# Historically, ON builds were always done with root permissions, and the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    32
# owner/group information was duplicated in the Makefiles and the packaging
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    33
# data and kept in sync by manual intervention.  This is no longer true.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    34
# The only source of this information is packaging.  The proto area ($ROOT)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    35
# does not have definitive onwer/group information, and no Makefile should
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    36
# attempt to set this.  CH once toggled operations restricted to root.  It
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    37
# is now just set to `#'.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    38
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    39
# At some point in the future, CH, CHOWN, CHGRP, OWNER, and GROUP should all
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    40
# be stripped completely from the source base.  They are kept for now until
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    41
# on10-based projects can merge and transition away from them.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    42
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    43
# RELEASE_BUILD should be cleared for final release builds. This is completely
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    44
# independent of CH. NOT_RELEASE_BUILD is exactly what the name implies.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    45
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    46
# INTERNAL_RELEASE_BUILD is a subset of RELEASE_BUILD. It mostly controls
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    47
# identification strings. Enabling RELEASE_BUILD automatically enables
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    48
# INTERNAL_RELEASE_BUILD.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    49
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    50
# EXPORT_RELEASE_BUILD controls whether binaries are built in a form that
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    51
# can be released for export under a binary license.  It is orthogonal to
1167
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    52
# the other *RELEASE_BUILD settings.  ("#" means do an export release
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    53
# build, "" means do a normal build.)
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    54
#
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    55
# CLOSED_BUILD controls whether we try to build files under
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    56
# usr/closed.  ("" means to build closed code, "#" means don't try to
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    57
# build it.)  Skipping the closed code implies doing an export release
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    58
# build.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    59
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    60
# STRIP_COMMENTS toggles comment section striping. Generally the same setting
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    61
# as INTERNAL_RELEASE_BUILD.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    62
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    63
# __GNUC toggles the building of ON components using gcc and related tools.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    64
# Normally set to `#', set it to `' to do gcc build.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    65
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    66
# The declaration POUND_SIGN is always '#'. This is needed to get around the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    67
# make feature that '#' is always a comment delimiter, even when escaped or
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    68
# quoted.  The only way of generating this is the :sh macro mechanism.  Note
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    69
# however that in general :sh macros should be avoided in makefiles that are
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    70
# widely included into other makefiles, as the resulting shell executions can
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    71
# cause a noticable slowdown in build times.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    72
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    73
POUND_SIGN:sh=				echo \\043
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    74
CH=					$(POUND_SIGN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    75
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    76
NOT_RELEASE_BUILD=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    77
INTERNAL_RELEASE_BUILD=			$(POUND_SIGN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    78
RELEASE_BUILD=				$(POUND_SIGN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    79
$(RELEASE_BUILD)NOT_RELEASE_BUILD=	$(POUND_SIGN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    80
$(RELEASE_BUILD)INTERNAL_RELEASE_BUILD=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    81
PATCH_BUILD=				$(POUND_SIGN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    82
1167
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    83
# If CLOSED_IS_PRESENT is not set, assume the closed tree is present.
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    84
CLOSED_BUILD_1=	$(CLOSED_IS_PRESENT:yes=)
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    85
CLOSED_BUILD=	$(CLOSED_BUILD_1:no=$(POUND_SIGN))
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    86
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    87
EXPORT_RELEASE_BUILD=			$(POUND_SIGN)
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    88
$(CLOSED_BUILD)EXPORT_RELEASE_BUILD=
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    89
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    90
# SPARC_BLD is '#' for an Intel build.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    91
# INTEL_BLD is '#' for a Sparc build.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    92
SPARC_BLD_1=    $(MACH:i386=$(POUND_SIGN))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    93
SPARC_BLD=      $(SPARC_BLD_1:sparc=)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    94
INTEL_BLD_1=    $(MACH:sparc=$(POUND_SIGN))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    95
INTEL_BLD=      $(INTEL_BLD_1:i386=)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    96
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    97
STRIP_COMMENTS=	$(INTERNAL_RELEASE_BUILD)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    98
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    99
# set __GNUC= in the environment to build 32-bit with the gcc compiler.
2886
be6558533f55 6470487 ld relocation errors occur when building the amd64 kernel for nevada with mars build 30
petede
parents: 2745
diff changeset
   100
# The default is to use the Sun Studio compiler for all processor types.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   101
__GNUC=		$(POUND_SIGN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   102
499
3fe4d3ff5864 6316914 changes in ON needed for Vulcan (SunStudio 10) compiler switch
petede
parents: 411
diff changeset
   103
# set __GNUC64= in the environment to build 64-bit with the gcc compiler.
2886
be6558533f55 6470487 ld relocation errors occur when building the amd64 kernel for nevada with mars build 30
petede
parents: 2745
diff changeset
   104
# Inherit the __GNUC value by default, and if that is set to $(POUND_SIGN)
be6558533f55 6470487 ld relocation errors occur when building the amd64 kernel for nevada with mars build 30
petede
parents: 2745
diff changeset
   105
# then this means use the Sun Studio compiler.
499
3fe4d3ff5864 6316914 changes in ON needed for Vulcan (SunStudio 10) compiler switch
petede
parents: 411
diff changeset
   106
__GNUC64=	$(__GNUC)
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   107
2886
be6558533f55 6470487 ld relocation errors occur when building the amd64 kernel for nevada with mars build 30
petede
parents: 2745
diff changeset
   108
# set __SSNEXT= in the enviroment to build with the 'next' release of
be6558533f55 6470487 ld relocation errors occur when building the amd64 kernel for nevada with mars build 30
petede
parents: 2745
diff changeset
   109
# the Sun Studio compiler. This will cause command line options specific
be6558533f55 6470487 ld relocation errors occur when building the amd64 kernel for nevada with mars build 30
petede
parents: 2745
diff changeset
   110
# to the 'next' version of the Sun Studio compiler to be used.
be6558533f55 6470487 ld relocation errors occur when building the amd64 kernel for nevada with mars build 30
petede
parents: 2745
diff changeset
   111
__SSNEXT=	$(POUND_SIGN)
be6558533f55 6470487 ld relocation errors occur when building the amd64 kernel for nevada with mars build 30
petede
parents: 2745
diff changeset
   112
1167
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   113
# CLOSED is the root of the tree that contains source which isn't released
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   114
# as open source
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   115
CLOSED=		$(SRC)/../closed
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   116
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   117
# BUILD_TOOLS is the root of all tools including compilers.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   118
# ONBLD_TOOLS is the root of all the tools that are part of SUNWonbld.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   119
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   120
BUILD_TOOLS=		/ws/onnv-tools
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   121
ONBLD_TOOLS=		$(BUILD_TOOLS)/onbld
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   122
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   123
JAVA_ROOT=	/usr/java
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   124
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   125
SFW_ROOT=	/usr/sfw
39
dc9b7493e881 6287497 openssl cpp flags needs to be adjusted for export builds
dinak
parents: 0
diff changeset
   126
SFWINCDIR=	$(SFW_ROOT)/include
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   127
SFWLIBDIR=	$(SFW_ROOT)/lib
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   128
SFWLIBDIR64=	$(SFW_ROOT)/lib/$(MACH64)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   129
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   130
RPCGEN=		/usr/bin/rpcgen
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   131
STABS=		$(ONBLD_TOOLS)/bin/$(MACH)/stabs
3446
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3156
diff changeset
   132
ELFEXTRACT=	$(ONBLD_TOOLS)/bin/$(MACH)/elfextract
5903aece022d PSARC 2006/469 EOF and removal of eeprom -I
mrj
parents: 3156
diff changeset
   133
MBH_PATCH=	$(ONBLD_TOOLS)/bin/$(MACH)/mbh_patch
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   134
ECHO=		echo
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   135
INS=		install
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   136
TRUE=		true
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   137
SYMLINK=	/usr/bin/ln -s
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   138
LN=		/usr/bin/ln
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   139
CHMOD=		/usr/bin/chmod
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   140
CHOWN=		$(TRUE)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   141
CHGRP=		$(TRUE)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   142
MV=		/usr/bin/mv -f
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   143
RM=		/usr/bin/rm -f
3448
aaf16568054b PSARC 2006/366 IP Instances
dh155122
parents: 3446
diff changeset
   144
CUT=		/usr/bin/cut
aaf16568054b PSARC 2006/366 IP Instances
dh155122
parents: 3446
diff changeset
   145
NM=		/usr/ccs/bin/nm
aaf16568054b PSARC 2006/366 IP Instances
dh155122
parents: 3446
diff changeset
   146
DIFF=		/usr/bin/diff
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   147
GREP=		/usr/bin/grep
1792
7e25f1c5948e 6406661 nightly doesn't tell about the shadow compiler
wesolows
parents: 1717
diff changeset
   148
EGREP=		/usr/bin/egrep
6510
1c846e50b601 6690251 copyright file generation should exclude duplicate licenses
mjnelson
parents: 6350
diff changeset
   149
KSH93=		/usr/bin/ksh93
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   150
SED=		/usr/bin/sed
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   151
NAWK=		/usr/bin/nawk
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   152
CP=		/usr/bin/cp -f
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   153
MCS=		/usr/ccs/bin/mcs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   154
CAT=            /usr/bin/cat
4271
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   155
ELFDUMP=	/usr/ccs/bin/elfdump
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   156
M4=		/usr/ccs/bin/m4
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   157
STRIP=		/usr/ccs/bin/strip
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   158
LEX=		/usr/ccs/bin/lex
5184
da60d2b4a9e2 PSARC 2007/448 Filebench
ek110237
parents: 5021
diff changeset
   159
FLEX=		$(SFW_ROOT)/bin/flex
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   160
YACC=		/usr/ccs/bin/yacc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   161
CPP=		/usr/lib/cpp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   162
JAVAC=		$(JAVA_ROOT)/bin/javac
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   163
JAVAH=		$(JAVA_ROOT)/bin/javah
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   164
JAVADOC=	$(JAVA_ROOT)/bin/javadoc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   165
RMIC=		$(JAVA_ROOT)/bin/rmic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   166
JAR=		$(JAVA_ROOT)/bin/jar
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   167
CTFCONVERT=	$(ONBLD_TOOLS)/bin/$(MACH)/ctfconvert
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   168
CTFMERGE=	$(ONBLD_TOOLS)/bin/$(MACH)/ctfmerge
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   169
CTFSTABS=	$(ONBLD_TOOLS)/bin/$(MACH)/ctfstabs
5311
05e4ca164d13 6619494 ndrgen NDL RPC protocol compiler
amw
parents: 5303
diff changeset
   170
NDRGEN=		$(ONBLD_TOOLS)/bin/$(MACH)/ndrgen
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   171
GENOFFSETS=	$(ONBLD_TOOLS)/bin/genoffsets
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   172
CTFCVTPTBL=	$(ONBLD_TOOLS)/bin/ctfcvtptbl
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   173
CTFFINDMOD=	$(ONBLD_TOOLS)/bin/ctffindmod
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   174
XREF=		$(ONBLD_TOOLS)/bin/xref
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   175
FIND=		/usr/bin/find
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   176
PERL=		/usr/bin/perl
7078
935563142864 6538468 add Mercurial support to ON developer tools
mjnelson
parents: 6812
diff changeset
   177
PYTHON=		/usr/bin/python
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   178
SORT=		/usr/bin/sort
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   179
TOUCH=		/usr/bin/touch
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   180
WC=		/usr/bin/wc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   181
XARGS=		/usr/bin/xargs
5543
337e2ea9ef8e 6332924 snv_24 /usr/ccs/bin/as adds new HWCAP tags to previously untagged objects
darrenm
parents: 5311
diff changeset
   182
ELFEDIT=	/usr/bin/elfedit
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   183
ELFSIGN=	/usr/bin/elfsign
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   184
DTRACE=		/usr/sbin/dtrace
7144
cb17c3fe45db 6429497 what's my nm?
jmcp
parents: 7078
diff changeset
   185
UNIQ=		/usr/bin/uniq
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   186
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   187
FILEMODE=	644
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   188
DIRMODE=	755
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   189
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   190
# Note: owner and group for proto area objects is no longer set by
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   191
# Makefiles at all.  These have no real effect and are kept here for
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   192
# transition purposes.  They (along with CH, CHOWN, and CHGRP) should be
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   193
# removed early in the s11 development cycle.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   194
OWNER=		root
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   195
GROUP=		bin
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   196
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   197
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   198
# The version of the patch makeup table optimized for build-time use.  Used
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   199
# during patch builds only.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   200
$(PATCH_BUILD)PMTMO_FILE=$(SRC)/patch_makeup_table.mo
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   201
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   202
# Declare that nothing should be built in parallel.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   203
# Individual Makefiles can use the .PARALLEL target to declare otherwise.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   204
.NO_PARALLEL:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   205
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   206
# For stylistic checks
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   207
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   208
# Note that the X and C checks are not used at this time and may need
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   209
# modification when they are actually used.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   210
#
7078
935563142864 6538468 add Mercurial support to ON developer tools
mjnelson
parents: 6812
diff changeset
   211
CSTYLE=		$(ONBLD_TOOLS)/bin/cstyle
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   212
CSTYLE_TAIL=
7078
935563142864 6538468 add Mercurial support to ON developer tools
mjnelson
parents: 6812
diff changeset
   213
HDRCHK=		$(ONBLD_TOOLS)/bin/hdrchk
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   214
HDRCHK_TAIL=
7078
935563142864 6538468 add Mercurial support to ON developer tools
mjnelson
parents: 6812
diff changeset
   215
JSTYLE=		$(ONBLD_TOOLS)/bin/jstyle
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   216
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   217
DOT_H_CHECK=	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   218
	@$(ECHO) "checking $<"; $(CSTYLE) $< $(CSTYLE_TAIL); \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   219
	$(HDRCHK) $< $(HDRCHK_TAIL)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   220
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   221
DOT_X_CHECK=	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   222
	@$(ECHO) "checking $<"; $(RPCGEN) -C -h $< | $(CSTYLE) $(CSTYLE_TAIL); \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   223
	$(RPCGEN) -C -h $< | $(HDRCHK) $< $(HDRCHK_TAIL)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   224
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   225
DOT_C_CHECK=	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   226
	@$(ECHO) "checking $<"; $(CSTYLE) $< $(CSTYLE_TAIL)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   227
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   228
MANIFEST_CHECK=	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   229
	@$(ECHO) "checking $<"; \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   230
	SVCCFG_DTD=$(SRC)/cmd/svc/dtd/service_bundle.dtd.1 \
7887
b6618727fabf PSARC/2008/350 SMF Template Extensions
Liane Praza <Liane.Praza@Sun.COM>
parents: 7684
diff changeset
   231
	SVCCFG_REPOSITORY=$(SRC)/cmd/svc/seed/global.db \
b6618727fabf PSARC/2008/350 SMF Template Extensions
Liane Praza <Liane.Praza@Sun.COM>
parents: 7684
diff changeset
   232
	SVCCFG_CONFIGD_PATH=$(SRC)/cmd/svc/configd/svc.configd-native \
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   233
	$(SRC)/cmd/svc/svccfg/svccfg-native validate $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   234
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   235
INS.file=	$(RM) $@; $(INS) -s -m $(FILEMODE) -f $(@D) $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   236
INS.dir=	$(INS) -s -d -m $(DIRMODE) $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   237
# installs and renames at once
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   238
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   239
INS.rename=	$(INS.file); $(MV) $(@D)/$(<F) $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   240
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   241
# install a link
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   242
INSLINKTARGET=	$<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   243
INS.link=	$(RM) $@; $(LN) $(INSLINKTARGET) $@
7078
935563142864 6538468 add Mercurial support to ON developer tools
mjnelson
parents: 6812
diff changeset
   244
#
935563142864 6538468 add Mercurial support to ON developer tools
mjnelson
parents: 6812
diff changeset
   245
# Python bakes the mtime of the .py file into the compiled .pyc and
935563142864 6538468 add Mercurial support to ON developer tools
mjnelson
parents: 6812
diff changeset
   246
# rebuilds if the baked-in mtime != the mtime of the source file
935563142864 6538468 add Mercurial support to ON developer tools
mjnelson
parents: 6812
diff changeset
   247
# (rather than only if it's less than), thus when installing python
935563142864 6538468 add Mercurial support to ON developer tools
mjnelson
parents: 6812
diff changeset
   248
# files we must make certain to not adjust the mtime of the source
935563142864 6538468 add Mercurial support to ON developer tools
mjnelson
parents: 6812
diff changeset
   249
# (.py) file.
935563142864 6538468 add Mercurial support to ON developer tools
mjnelson
parents: 6812
diff changeset
   250
#
935563142864 6538468 add Mercurial support to ON developer tools
mjnelson
parents: 6812
diff changeset
   251
INS.pyfile=	$(INS.file); $(TOUCH) -r $< $@
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   252
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   253
# MACH must be set in the shell environment per uname -p on the build host
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   254
# More specific architecture variables should be set in lower makefiles.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   255
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   256
# MACH64 is derived from MACH, and BUILD64 is set to `#' for
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   257
# architectures on which we do not build 64-bit versions.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   258
# (There are no such architectures at the moment.)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   259
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   260
# Set BUILD64=# in the environment to disable 64-bit amd64
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   261
# builds on i386 machines.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   262
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   263
MACH64_1=	$(MACH:sparc=sparcv9)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   264
MACH64=		$(MACH64_1:i386=amd64)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   265
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   266
MACH32_1=	$(MACH:sparc=sparcv7)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   267
MACH32=		$(MACH32_1:i386=i86)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   268
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   269
sparc_BUILD64=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   270
i386_BUILD64=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   271
BUILD64=	$($(MACH)_BUILD64)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   272
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   273
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   274
# C compiler mode. Future compilers may change the default on us,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   275
# so force extended ANSI mode globally. Lower level makefiles can
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   276
# override this by setting CCMODE.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   277
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   278
CCMODE=			-Xa
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   279
CCMODE64=		-Xa
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   280
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   281
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   282
# C compiler verbose mode. This is so we can enable it globally,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   283
# but turn it off in the lower level makefiles of things we cannot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   284
# (or aren't going to) fix.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   285
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   286
CCVERBOSE=		-v
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   287
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   288
# set this to the secret flag "-Wc,-Qiselect-v9abiwarn=1" to get warnings
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   289
# from the compiler about places the -xarch=v9 may differ from -xarch=v9c.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   290
V9ABIWARN=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   291
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   292
# set this to the secret flag "-Wc,-Qiselect-regsym=0" to disable register
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   293
# symbols (used to detect conflicts between objects that use global registers)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   294
# we disable this now for safety, and because genunix doesn't link with
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   295
# this feature (the v9 default) enabled.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   296
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   297
# REGSYM is separate since the C++ driver syntax is different.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   298
CCREGSYM=		-Wc,-Qiselect-regsym=0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   299
CCCREGSYM=		-Qoption cg -Qiselect-regsym=0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   300
2745
4634a7101488 6467071 mdb modules are not finding expected static declarations in userland objects
petede
parents: 2712
diff changeset
   301
# Prevent the removal of static symbols by the SPARC code generator (cg).
4634a7101488 6467071 mdb modules are not finding expected static declarations in userland objects
petede
parents: 2712
diff changeset
   302
# The x86 code generator (ube) does not remove such symbols and as such
4634a7101488 6467071 mdb modules are not finding expected static declarations in userland objects
petede
parents: 2712
diff changeset
   303
# using this workaround is not applicable for x86.
4634a7101488 6467071 mdb modules are not finding expected static declarations in userland objects
petede
parents: 2712
diff changeset
   304
#
2605
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   305
CCSTATICSYM=		-Wc,-Qassembler-ounrefsym=0
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   306
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   307
# generate 32-bit addresses in the v9 kernel. Saves memory.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   308
CCABS32=		-Wc,-xcode=abs32
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   309
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   310
# One optimization the compiler might perform is to turn this:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   311
#	#pragma weak foo
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   312
#	extern int foo;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   313
#	if (&foo)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   314
#		foo = 5;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   315
# into
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   316
#	foo = 5;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   317
# Since we do some of this (foo might be referenced in common kernel code
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   318
# but provided only for some cpu modules or platforms), we disable this
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   319
# optimization.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   320
# 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   321
sparc_CCUNBOUND	= -Wd,-xsafe=unboundsym
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   322
i386_CCUNBOUND	=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   323
CCUNBOUND	= $($(MACH)_CCUNBOUND)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   324
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   325
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   326
# compiler '-xarch' flag. This is here to centralize it and make it
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   327
# overridable for testing.
7684
cdccab274861 6659940 ON makefiles use wrong options for Sun Studio 12 compiler and lint.
Nick Todd <Nick.Todd@Sun.COM>
parents: 7144
diff changeset
   328
sparc_XARCH=	-m32
cdccab274861 6659940 ON makefiles use wrong options for Sun Studio 12 compiler and lint.
Nick Todd <Nick.Todd@Sun.COM>
parents: 7144
diff changeset
   329
sparcv9_XARCH=	-m64
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   330
i386_XARCH=
7684
cdccab274861 6659940 ON makefiles use wrong options for Sun Studio 12 compiler and lint.
Nick Todd <Nick.Todd@Sun.COM>
parents: 7144
diff changeset
   331
amd64_XARCH=	-m64 -Ui386 -U__i386
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   332
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   333
# assembler '-xarch' flag.  Different from compiler '-xarch' flag.
2037
132880d31aba 6268715 port_getn(3C) and port_sendn(3C) not working on Solaris x86
craigm
parents: 1810
diff changeset
   334
sparc_AS_XARCH=		-xarch=v8plus
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   335
sparcv9_AS_XARCH=	-xarch=v9
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   336
i386_AS_XARCH=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   337
amd64_AS_XARCH=		-xarch=amd64 -P -Ui386 -U__i386
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   338
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   339
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   340
# These flags define what we need to be 'standalone' i.e. -not- part
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   341
# of the rather more cosy userland environment.  This basically means
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   342
# the kernel.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   343
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   344
# XX64	future versions of gcc will make -mcmodel=kernel imply -mno-red-zone
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   345
#
580
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   346
sparc_STAND_FLAGS=	-_gcc=-ffreestanding
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   347
sparcv9_STAND_FLAGS=	-_gcc=-ffreestanding
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   348
i386_STAND_FLAGS=	-_gcc=-ffreestanding
7684
cdccab274861 6659940 ON makefiles use wrong options for Sun Studio 12 compiler and lint.
Nick Todd <Nick.Todd@Sun.COM>
parents: 7144
diff changeset
   349
amd64_STAND_FLAGS=	-xmodel=kernel
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   350
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   351
SAVEARGS=		-Wu,-save_args
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   352
amd64_STAND_FLAGS	+= $(SAVEARGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   353
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   354
STAND_FLAGS_32 = $($(MACH)_STAND_FLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   355
STAND_FLAGS_64 = $($(MACH64)_STAND_FLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   356
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   357
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   358
# disable the incremental linker
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   359
ILDOFF=			-xildoff
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   360
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   361
XDEPEND=		-xdepend
5827
70b03ddc1344 6634436 XFFLAG should be updated.
rie
parents: 5543
diff changeset
   362
XFFLAG=			-xF=%all
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   363
XESS=			-xs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   364
XSTRCONST=		-xstrconst 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   365
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   366
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   367
# turn warnings into errors (C)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   368
CERRWARN = -errtags=yes -errwarn=%all
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   369
CERRWARN += -erroff=E_EMPTY_TRANSLATION_UNIT
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   370
CERRWARN += -erroff=E_STATEMENT_NOT_REACHED
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   371
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   372
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   373
# turn warnings into errors (C++)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   374
CCERRWARN=		-xwe
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   375
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   376
# C99 mode
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   377
C99_ENABLE=	-xc99=%all
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   378
C99_DISABLE=	-xc99=%none
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   379
C99MODE=	$(C99_DISABLE)
65
590fbd3d0588 6289474 C99LMODE should derive automatically from C99MODE
mike_s
parents: 39
diff changeset
   380
C99LMODE=	$(C99MODE:-xc99%=-Xc99%)
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   381
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   382
# In most places, assignments to these macros should be appended with +=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   383
# (CPPFLAGS.master allows values to be prepended to CPPFLAGS).
2745
4634a7101488 6467071 mdb modules are not finding expected static declarations in userland objects
petede
parents: 2712
diff changeset
   384
sparc_CFLAGS=	$(sparc_XARCH) $(CCSTATICSYM)
2605
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   385
sparcv9_CFLAGS=	$(sparcv9_XARCH) -dalign $(CCVERBOSE) $(V9ABIWARN) $(CCREGSYM) \
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   386
		$(CCSTATICSYM)
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   387
i386_CFLAGS=	$(i386_XARCH)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   388
amd64_CFLAGS=	$(amd64_XARCH)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   389
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   390
sparc_ASFLAGS=	$(sparc_AS_XARCH)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   391
sparcv9_ASFLAGS=$(sparcv9_AS_XARCH)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   392
i386_ASFLAGS=	$(i386_AS_XARCH)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   393
amd64_ASFLAGS=	$(amd64_AS_XARCH)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   394
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   395
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   396
sparc_COPTFLAG=		-xO3
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   397
sparcv9_COPTFLAG=	-xO3
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   398
i386_COPTFLAG=		-O
282
1ba7cc96bbc5 6305107 Reduction in optimisation level hurts performance
sherrym
parents: 224
diff changeset
   399
amd64_COPTFLAG=		-xO3
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   400
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   401
COPTFLAG= $($(MACH)_COPTFLAG)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   402
COPTFLAG64= $($(MACH64)_COPTFLAG)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   403
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   404
# When -g is used, the compiler globalizes static objects
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   405
# (gives them a unique prefix). Disable that.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   406
CNOGLOBAL= -W0,-noglobal
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   407
2538
b5894d78c55a 5016095 nightly should help determine what really changes from build to build
esaxe
parents: 2437
diff changeset
   408
# Direct the Sun Studio compiler to use a static globalization prefix based on the
b5894d78c55a 5016095 nightly should help determine what really changes from build to build
esaxe
parents: 2437
diff changeset
   409
# name of the module rather than something unique. Otherwise, objects
b5894d78c55a 5016095 nightly should help determine what really changes from build to build
esaxe
parents: 2437
diff changeset
   410
# will not build deterministically, as subsequent compilations of identical
b5894d78c55a 5016095 nightly should help determine what really changes from build to build
esaxe
parents: 2437
diff changeset
   411
# source will yeild objects that always look different.
b5894d78c55a 5016095 nightly should help determine what really changes from build to build
esaxe
parents: 2437
diff changeset
   412
#
b5894d78c55a 5016095 nightly should help determine what really changes from build to build
esaxe
parents: 2437
diff changeset
   413
# In the same spirit, this will also remove the date from the N_OPT stab.
b5894d78c55a 5016095 nightly should help determine what really changes from build to build
esaxe
parents: 2437
diff changeset
   414
CGLOBALSTATIC= -W0,-xglobalstatic
b5894d78c55a 5016095 nightly should help determine what really changes from build to build
esaxe
parents: 2437
diff changeset
   415
580
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   416
# Normally, gcc uses indirect DWARF strings to save space.  However,
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   417
# this causes relocations that ctfconvert cannot handle.  Disable this.
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   418
CDWARFSTR=	-_gcc=-fno-dwarf2-indirect-strings
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   419
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   420
# Sometimes we want all symbols and types in debugging information even
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   421
# if they aren't used.
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   422
CALLSYMS=	-W0,-xdbggen=no%usedonly
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   423
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   424
#
2605
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   425
# Default debug format for Sun Studio 11 is dwarf, so force it to
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   426
# generate stabs.
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   427
#
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   428
DEBUGFORMAT=	-xdebugformat=stabs
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   429
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   430
#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   431
# Flags used to build in debug mode for ctf generation.  Bugs in the Devpro
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   432
# compilers currently prevent us from building with cc-emitted DWARF.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   433
#
580
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   434
CTF_FLAGS_sparc	= -g -Wc,-Qiselect-T1 $(C99MODE) $(CNOGLOBAL) $(CDWARFSTR)
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   435
CTF_FLAGS_i386	= -g $(C99MODE) $(CNOGLOBAL) $(CDWARFSTR)
2605
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   436
CTF_FLAGS	= $(CTF_FLAGS_$(MACH)) $(DEBUGFORMAT)
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   437
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   438
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   439
# Flags used with genoffsets
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   440
#
224
a34f75a89973 6266620 mi2cv shouldn't #include <note.h>
wesolows
parents: 65
diff changeset
   441
GOFLAGS = -_noecho \
580
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   442
	$(CALLSYMS) \
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   443
	$(CDWARFSTR)
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   444
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   445
OFFSETS_CREATE = $(GENOFFSETS) -s $(CTFSTABS) -r $(CTFCONVERT) \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   446
	$(CC) $(GOFLAGS) $(CFLAGS) $(CPPFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   447
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   448
OFFSETS_CREATE64 = $(GENOFFSETS) -s $(CTFSTABS) -r $(CTFCONVERT) \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   449
	$(CC) $(GOFLAGS) $(CFLAGS64) $(CPPFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   450
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   451
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   452
# tradeoff time for space (smaller is better)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   453
#
2605
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   454
sparc_SPACEFLAG		= -xspace -W0,-Lt
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   455
sparcv9_SPACEFLAG	= -xspace -W0,-Lt
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   456
i386_SPACEFLAG		= -xspace
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   457
amd64_SPACEFLAG		=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   458
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   459
SPACEFLAG		= $($(MACH)_SPACEFLAG)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   460
SPACEFLAG64		= $($(MACH64)_SPACEFLAG)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   461
2605
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   462
#
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   463
# The Sun Studio 11 compiler has changed the behaviour of integer
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   464
# wrap arounds and so a flag is needed to use the legacy behaviour
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   465
# (without this flag panics/hangs could be exposed within the source).
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   466
#
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   467
sparc_IROPTFLAG		= -W2,-xwrap_int
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   468
sparcv9_IROPTFLAG	= -W2,-xwrap_int
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   469
i386_IROPTFLAG		=
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   470
amd64_IROPTFLAG		=
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   471
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   472
IROPTFLAG		= $($(MACH)_IROPTFLAG)
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   473
IROPTFLAG64		= $($(MACH64)_IROPTFLAG)
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   474
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   475
sparc_XREGSFLAG		= -xregs=no%appl
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   476
sparcv9_XREGSFLAG	= -xregs=no%appl
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   477
i386_XREGSFLAG		=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   478
amd64_XREGSFLAG		=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   479
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   480
XREGSFLAG		= $($(MACH)_XREGSFLAG)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   481
XREGSFLAG64		= $($(MACH64)_XREGSFLAG)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   482
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   483
CFLAGS=         $(COPTFLAG) $($(MACH)_CFLAGS) $(SPACEFLAG) $(CCMODE) \
2605
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   484
		$(ILDOFF) $(CERRWARN) $(C99MODE) $(CCUNBOUND) $(IROPTFLAG) \
2538
b5894d78c55a 5016095 nightly should help determine what really changes from build to build
esaxe
parents: 2437
diff changeset
   485
		$(CGLOBALSTATIC)
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   486
CFLAGS64=       $(COPTFLAG64) $($(MACH64)_CFLAGS) $(SPACEFLAG64) $(CCMODE64) \
2605
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   487
		$(ILDOFF) $(CERRWARN) $(C99MODE) $(CCUNBOUND) $(IROPTFLAG64) \
2538
b5894d78c55a 5016095 nightly should help determine what really changes from build to build
esaxe
parents: 2437
diff changeset
   488
		$(CGLOBALSTATIC)
2605
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   489
#
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   490
# Flags that are used to build parts of the code that are subsequently
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   491
# run on the build machine (also known as the NATIVE_BUILD).
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   492
#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   493
NATIVE_CFLAGS=	$(COPTFLAG) $($(NATIVE_MACH)_CFLAGS) $(CCMODE) \
2538
b5894d78c55a 5016095 nightly should help determine what really changes from build to build
esaxe
parents: 2437
diff changeset
   494
		$(ILDOFF) $(CERRWARN) $(C99MODE) $($(NATIVE_MACH)_CCUNBOUND) \
2605
ec6c9a1440fb 6311077 Enabling ON compilation with Sun Studio 11 (Venus)
petede
parents: 2543
diff changeset
   495
		$(IROPTFLAG) $(CGLOBALSTATIC)
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   496
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   497
DTEXTDOM=-DTEXT_DOMAIN=\"$(TEXT_DOMAIN)\"	# For messaging.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   498
DTS_ERRNO=-D_TS_ERRNO
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   499
CPPFLAGS.master=$(DTEXTDOM) $(DTS_ERRNO) \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   500
	$(ENVCPPFLAGS1) $(ENVCPPFLAGS2) $(ENVCPPFLAGS3) $(ENVCPPFLAGS4)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   501
CPPFLAGS=	$(CPPFLAGS.master)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   502
AS_CPPFLAGS=	$(CPPFLAGS.master)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   503
JAVAFLAGS=	-deprecation
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   504
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   505
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   506
# For source message catalogue
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   507
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   508
.SUFFIXES: $(SUFFIXES) .i .po
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   509
MSGROOT= $(ROOT)/catalog
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   510
MSGDOMAIN= $(MSGROOT)/$(TEXT_DOMAIN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   511
MSGDOMAINPOFILE = $(MSGDOMAIN)/$(POFILE)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   512
DCMSGDOMAIN= $(MSGROOT)/LC_TIME/$(TEXT_DOMAIN) 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   513
DCMSGDOMAINPOFILE = $(DCMSGDOMAIN)/$(DCFILE:.dc=.po)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   514
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   515
CLOBBERFILES += $(POFILE) $(POFILES)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   516
COMPILE.cpp= $(CC) -E -C $(CFLAGS) $(CPPFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   517
XGETTEXT= /usr/bin/xgettext
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   518
XGETFLAGS= -c TRANSLATION_NOTE
9396
f41cf682d0d3 PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents: 8731
diff changeset
   519
GNUXGETTEXT= /usr/gnu/bin/xgettext
f41cf682d0d3 PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents: 8731
diff changeset
   520
GNUXGETFLAGS= --add-comments=TRANSLATION_NOTE --keyword=_ \
f41cf682d0d3 PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents: 8731
diff changeset
   521
	--strict --no-location --omit-header
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   522
BUILD.po= $(XGETTEXT) $(XGETFLAGS) -d $(<F) $<.i ;\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   523
	$(RM)	$@ ;\
6350
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
   524
	$(SED) "/^domain/d" < $(<F).po > $@ ;\
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   525
	$(RM) $(<F).po $<.i
6350
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
   526
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   527
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   528
# This is overwritten by local Makefile when PROG is a list.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   529
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   530
POFILE= $(PROG).po
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   531
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   532
sparc_CCFLAGS=		-cg92 -compat=4 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   533
			-Qoption ccfe -messages=no%anachronism \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   534
			$(CCERRWARN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   535
sparcv9_CCFLAGS=	$(sparcv9_XARCH) -dalign -compat=5 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   536
			-Qoption ccfe -messages=no%anachronism \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   537
			-Qoption ccfe -features=no%conststrings \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   538
			$(CCCREGSYM) \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   539
			$(CCERRWARN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   540
i386_CCFLAGS=		-compat=4 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   541
			-Qoption ccfe -messages=no%anachronism \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   542
			-Qoption ccfe -features=no%conststrings \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   543
			$(CCERRWARN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   544
amd64_CCFLAGS=		$(amd64_XARCH) -compat=5 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   545
			-Qoption ccfe -messages=no%anachronism \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   546
			-Qoption ccfe -features=no%conststrings \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   547
			$(CCERRWARN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   548
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   549
sparc_CCOPTFLAG=	-O
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   550
sparcv9_CCOPTFLAG=	-O
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   551
i386_CCOPTFLAG=		-O
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   552
amd64_CCOPTFLAG=	-O
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   553
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   554
CCOPTFLAG=	$($(MACH)_CCOPTFLAG)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   555
CCOPTFLAG64=	$($(MACH64)_CCOPTFLAG)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   556
CCFLAGS=	$(CCOPTFLAG) $($(MACH)_CCFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   557
CCFLAGS64=	$(CCOPTFLAG64) $($(MACH64)_CCFLAGS)
4271
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   558
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   559
#
4271
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   560
# Various mapfiles that are used throughout the build, and delivered to
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   561
# /usr/lib/ld.
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   562
#
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   563
MAPFILE.NED_i386 =	$(SRC)/common/mapfiles/i386/map.noexdata
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   564
MAPFILE.NED_sparc =
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   565
MAPFILE.NED =		$(MAPFILE.NED_$(MACH))
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   566
MAPFILE.PGA =		$(SRC)/common/mapfiles/$(MACH)/map.pagealign
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   567
MAPFILE.NES =		$(SRC)/common/mapfiles/common/map.noexstk
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   568
MAPFILE.FLT =		$(SRC)/common/mapfiles/common/map.filter
4947
e92895a4c96a PSARC/2007/474 new ldd(1) -w option
rie
parents: 4271
diff changeset
   569
MAPFILE.LEX =		$(SRC)/common/mapfiles/common/map.lex.yy
4271
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   570
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   571
#
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   572
# Generated mapfiles that are compiler specific, and used throughout the
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   573
# build.  These mapfiles are not delivered in /usr/lib/ld.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   574
#
4271
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   575
MAPFILE.NGB_sparc=	$(SRC)/common/mapfiles/gen/sparc_cc_map.noexeglobs
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   576
$(__GNUC64)MAPFILE.NGB_sparc= \
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   577
			$(SRC)/common/mapfiles/gen/sparc_gcc_map.noexeglobs
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   578
MAPFILE.NGB_sparcv9=	$(SRC)/common/mapfiles/gen/sparcv9_cc_map.noexeglobs
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   579
$(__GNUC64)MAPFILE.NGB_sparcv9= \
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   580
			$(SRC)/common/mapfiles/gen/sparcv9_gcc_map.noexeglobs
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   581
MAPFILE.NGB_i386=	$(SRC)/common/mapfiles/gen/i386_cc_map.noexeglobs
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   582
$(__GNUC64)MAPFILE.NGB_i386= \
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   583
			$(SRC)/common/mapfiles/gen/i386_gcc_map.noexeglobs
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   584
MAPFILE.NGB_amd64=	$(SRC)/common/mapfiles/gen/amd64_cc_map.noexeglobs
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   585
$(__GNUC64)MAPFILE.NGB_amd64= \
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   586
			$(SRC)/common/mapfiles/gen/amd64_gcc_map.noexeglobs
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   587
MAPFILE.NGB =		$(MAPFILE.NGB_$(MACH))
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   588
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   589
#
4271
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   590
# A generic interface mapfile name, used by various dynamic objects to define
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   591
# the interfaces and interposers the object must export.
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   592
#
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   593
MAPFILE.INT =		mapfile-intf
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   594
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   595
# 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   596
# LDLIBS32 can be set in the environment to override the following assignment.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   597
# LDLIBS64 can be set to override the assignment made in Makefile.master.64.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   598
# These environment settings make sure that no libraries are searched outside
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   599
# of the local workspace proto area:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   600
#	LDLIBS32=-YP,$ROOT/lib:$ROOT/usr/lib
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   601
#	LDLIBS64=-YP,$ROOT/lib/$MACH64:$ROOT/usr/lib/$MACH64
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   602
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   603
LDLIBS32 =	$(ENVLDLIBS1) $(ENVLDLIBS2) $(ENVLDLIBS3)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   604
LDLIBS.cmd = 	$(LDLIBS32)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   605
LDLIBS.lib =	$(LDLIBS32)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   606
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   607
# Define compilation macros.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   608
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   609
COMPILE.c=	$(CC) $(CFLAGS) $(CPPFLAGS) -c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   610
COMPILE64.c=	$(CC) $(CFLAGS64) $(CPPFLAGS) -c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   611
COMPILE.cc=	$(CCC) $(CCFLAGS) $(CPPFLAGS) -c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   612
COMPILE64.cc=	$(CCC) $(CCFLAGS64) $(CPPFLAGS) -c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   613
COMPILE.s=	$(AS) $(ASFLAGS) $(AS_CPPFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   614
COMPILE64.s=	$(AS) $(ASFLAGS) $($(MACH64)_AS_XARCH) $(AS_CPPFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   615
COMPILE.d=	$(DTRACE) -G -32
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   616
COMPILE64.d=	$(DTRACE) -G -64
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   617
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   618
CLASSPATH=	.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   619
COMPILE.java=	$(JAVAC) $(JAVAFLAGS) -classpath $(CLASSPATH)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   620
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   621
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   622
# Link time macros
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   623
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   624
CCNEEDED		= -lC
411
ae71859f7fc8 6302154 fix for 6297567 introduces some undesirable output changes
wesolows
parents: 376
diff changeset
   625
$(__GNUC)CCNEEDED	= -L$(SFWLIBDIR) -R$(SFWLIBDIR) -lstdc++ -lgcc_s
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   626
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   627
LINK.c=		$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   628
LINK64.c=	$(CC) $(CFLAGS64) $(CPPFLAGS) $(LDFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   629
NORUNPATH=	-norunpath -nolib
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   630
LINK.cc=	$(CCC) $(CCFLAGS) $(CPPFLAGS) $(NORUNPATH) \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   631
		$(LDFLAGS) $(CCNEEDED)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   632
LINK64.cc=	$(CCC) $(CCFLAGS64) $(CPPFLAGS) $(NORUNPATH) \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   633
		$(LDFLAGS) $(CCNEEDED)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   634
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   635
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   636
# lint macros
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   637
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   638
# Note that the undefine of __PRAGMA_REDEFINE_EXTNAME can be removed once
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   639
# ON is built with a version of lint that has the fix for 4484186.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   640
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   641
ALWAYS_LINT_DEFS =	-errtags=yes -s
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   642
ALWAYS_LINT_DEFS +=	-erroff=E_PTRDIFF_OVERFLOW
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   643
ALWAYS_LINT_DEFS +=	-erroff=E_ASSIGN_NARROW_CONV
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   644
ALWAYS_LINT_DEFS +=	-U__PRAGMA_REDEFINE_EXTNAME
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   645
ALWAYS_LINT_DEFS +=	$(C99LMODE)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   646
ALWAYS_LINT_DEFS +=	-errsecurity=$(SECLEVEL)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   647
ALWAYS_LINT_DEFS +=	-erroff=E_SEC_CREAT_WITHOUT_EXCL
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   648
ALWAYS_LINT_DEFS +=	-erroff=E_SEC_FORBIDDEN_WARN_CREAT
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   649
# XX64 -- really only needed for amd64 lint
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   650
ALWAYS_LINT_DEFS +=	-erroff=E_ASSIGN_INT_TO_SMALL_INT
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   651
ALWAYS_LINT_DEFS +=	-erroff=E_CAST_INT_CONST_TO_SMALL_INT
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   652
ALWAYS_LINT_DEFS +=	-erroff=E_CAST_INT_TO_SMALL_INT
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   653
ALWAYS_LINT_DEFS +=	-erroff=E_CAST_TO_PTR_FROM_INT
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   654
ALWAYS_LINT_DEFS +=	-erroff=E_COMP_INT_WITH_LARGE_INT
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   655
ALWAYS_LINT_DEFS +=	-erroff=E_INTEGRAL_CONST_EXP_EXPECTED
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   656
ALWAYS_LINT_DEFS +=	-erroff=E_PASS_INT_TO_SMALL_INT
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   657
ALWAYS_LINT_DEFS +=	-erroff=E_PTR_CONV_LOSES_BITS
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   658
8731
accad831e993 4875943 NOTE() lint directives don't work in ON
James Carlson <james.d.carlson@sun.com>
parents: 7887
diff changeset
   659
# This forces lint to pick up note.h and sys/note.h from Devpro rather than
accad831e993 4875943 NOTE() lint directives don't work in ON
James Carlson <james.d.carlson@sun.com>
parents: 7887
diff changeset
   660
# from the proto area.  The note.h that ON delivers would disable NOTE().
accad831e993 4875943 NOTE() lint directives don't work in ON
James Carlson <james.d.carlson@sun.com>
parents: 7887
diff changeset
   661
ONLY_LINT_DEFS =	-I$(SPRO_VROOT)/prod/include/lint
accad831e993 4875943 NOTE() lint directives don't work in ON
James Carlson <james.d.carlson@sun.com>
parents: 7887
diff changeset
   662
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   663
SECLEVEL=	core
8731
accad831e993 4875943 NOTE() lint directives don't work in ON
James Carlson <james.d.carlson@sun.com>
parents: 7887
diff changeset
   664
LINT.c=		$(LINT) $(ONLY_LINT_DEFS) $(LINTFLAGS) $(CPPFLAGS) \
accad831e993 4875943 NOTE() lint directives don't work in ON
James Carlson <james.d.carlson@sun.com>
parents: 7887
diff changeset
   665
		$(ALWAYS_LINT_DEFS)
accad831e993 4875943 NOTE() lint directives don't work in ON
James Carlson <james.d.carlson@sun.com>
parents: 7887
diff changeset
   666
LINT64.c=	$(LINT) $(ONLY_LINT_DEFS) $(LINTFLAGS64) $(CPPFLAGS) \
accad831e993 4875943 NOTE() lint directives don't work in ON
James Carlson <james.d.carlson@sun.com>
parents: 7887
diff changeset
   667
		$(ALWAYS_LINT_DEFS)
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   668
LINT.s=		$(LINT.c)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   669
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   670
# For some future builds, NATIVE_MACH and MACH might be different.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   671
# Therefore, NATIVE_MACH needs to be redefined in the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   672
# environment as `uname -p` to override this macro.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   673
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   674
# For now at least, we cross-compile amd64 on i386 machines.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   675
NATIVE_MACH=	$(MACH:amd64=i386)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   676
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   677
# Define native compilation macros
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   678
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   679
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   680
# Base directory where compilers are loaded.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   681
# Defined here so it can be overridden by developer.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   682
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   683
SPRO_ROOT=		$(BUILD_TOOLS)/SUNWspro
7684
cdccab274861 6659940 ON makefiles use wrong options for Sun Studio 12 compiler and lint.
Nick Todd <Nick.Todd@Sun.COM>
parents: 7144
diff changeset
   684
SPRO_VROOT=		$(SPRO_ROOT)/SS12
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   685
GNU_ROOT=		$(SFW_ROOT)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   686
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   687
# Specify platform compiler versions for languages
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   688
# that we use (currently only c and c++).
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   689
#
224
a34f75a89973 6266620 mi2cv shouldn't #include <note.h>
wesolows
parents: 65
diff changeset
   690
sparc_CC=		$(ONBLD_TOOLS)/bin/$(MACH)/cw -_cc
a34f75a89973 6266620 mi2cv shouldn't #include <note.h>
wesolows
parents: 65
diff changeset
   691
$(__GNUC)sparc_CC=	$(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc
a34f75a89973 6266620 mi2cv shouldn't #include <note.h>
wesolows
parents: 65
diff changeset
   692
sparc_CCC=		$(ONBLD_TOOLS)/bin/$(MACH)/cw -_CC
a34f75a89973 6266620 mi2cv shouldn't #include <note.h>
wesolows
parents: 65
diff changeset
   693
$(__GNUC)sparc_CCC=	$(ONBLD_TOOLS)/bin/$(MACH)/cw -_g++
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   694
sparc_CPP=		/usr/ccs/lib/cpp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   695
sparc_AS=		/usr/ccs/bin/as -xregsym=no
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   696
sparc_LD=		/usr/ccs/bin/ld
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   697
sparc_LINT=		$(SPRO_VROOT)/bin/lint
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   698
224
a34f75a89973 6266620 mi2cv shouldn't #include <note.h>
wesolows
parents: 65
diff changeset
   699
sparcv9_CC=		$(ONBLD_TOOLS)/bin/$(MACH)/cw -_cc
a34f75a89973 6266620 mi2cv shouldn't #include <note.h>
wesolows
parents: 65
diff changeset
   700
$(__GNUC64)sparcv9_CC=	$(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc
a34f75a89973 6266620 mi2cv shouldn't #include <note.h>
wesolows
parents: 65
diff changeset
   701
sparcv9_CCC=		$(ONBLD_TOOLS)/bin/$(MACH)/cw -_CC
a34f75a89973 6266620 mi2cv shouldn't #include <note.h>
wesolows
parents: 65
diff changeset
   702
$(__GNUC64)sparcv9_CCC=	$(ONBLD_TOOLS)/bin/$(MACH)/cw -_g++
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   703
sparcv9_CPP=		/usr/ccs/lib/cpp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   704
sparcv9_AS=		/usr/ccs/bin/as -xregsym=no
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   705
sparcv9_LD=		/usr/ccs/bin/ld
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   706
sparcv9_LINT=		$(SPRO_VROOT)/bin/lint
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   707
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   708
# We compile 32-bit objects with cc by default
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   709
i386_CC=		$(ONBLD_TOOLS)/bin/$(MACH)/cw -_cc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   710
$(__GNUC)i386_CC=	$(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   711
i386_CCC=		$(ONBLD_TOOLS)/bin/$(MACH)/cw -_CC
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   712
$(__GNUC)i386_CCC=	$(ONBLD_TOOLS)/bin/$(MACH)/cw -_g++
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   713
i386_CPP=		/usr/ccs/lib/cpp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   714
i386_AS=		/usr/ccs/bin/as
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   715
$(__GNUC)i386_AS=	$(ONBLD_TOOLS)/bin/$(MACH)/aw
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   716
i386_LD=		/usr/ccs/bin/ld
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   717
i386_LINT=		$(SPRO_VROOT)/bin/lint
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   718
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   719
# We compile 64-bit objects with gcc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   720
amd64_CC=		$(ONBLD_TOOLS)/bin/$(MACH)/cw -_cc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   721
$(__GNUC64)amd64_CC=	$(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   722
amd64_CCC=		$(ONBLD_TOOLS)/bin/$(MACH)/cw -_CC
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   723
$(__GNUC64)amd64_CCC=	$(ONBLD_TOOLS)/bin/$(MACH)/cw -_g++
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   724
amd64_CPP=		/usr/ccs/lib/cpp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   725
amd64_AS=		$(ONBLD_TOOLS)/bin/$(MACH)/aw
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   726
amd64_LD=		/usr/ccs/bin/ld
499
3fe4d3ff5864 6316914 changes in ON needed for Vulcan (SunStudio 10) compiler switch
petede
parents: 411
diff changeset
   727
amd64_LINT=		$(SPRO_VROOT)/bin/lint
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   728
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   729
NATIVECC=		$($(NATIVE_MACH)_CC)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   730
NATIVECCC=		$($(NATIVE_MACH)_CCC)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   731
NATIVECPP=		$($(NATIVE_MACH)_CPP)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   732
NATIVEAS=		$($(NATIVE_MACH)_AS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   733
NATIVELD=		$($(NATIVE_MACH)_LD)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   734
NATIVELINT=		$($(NATIVE_MACH)_LINT)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   735
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   736
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   737
# Makefile.master.64 overrides these settings
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   738
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   739
CC=			$(NATIVECC)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   740
CCC=			$(NATIVECCC)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   741
CPP=			$(NATIVECPP)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   742
AS=			$(NATIVEAS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   743
LD=			$(NATIVELD)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   744
LINT=			$(NATIVELINT)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   745
580
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   746
# The real compilers used for this build
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   747
CW_CC_CMD=		$(CC) -_compiler
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   748
CW_CCC_CMD=		$(CCC) -_compiler
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   749
REAL_CC=		$(CW_CC_CMD:sh)
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   750
REAL_CCC=		$(CW_CCC_CMD:sh)
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   751
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   752
# Pass -Y flag to cpp (method of which is release-dependent)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   753
CCYFLAG=		-Y I,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   754
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   755
BDIRECT=	-Bdirect
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   756
BDYNAMIC=	-Bdynamic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   757
BLOCAL=		-Blocal
4271
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   758
BNODIRECT=	-Bnodirect
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   759
BREDUCE=	-Breduce
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   760
BSTATIC=	-Bstatic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   761
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   762
ZDEFS=		-zdefs
4271
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   763
ZDIRECT=	-zdirect
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   764
ZIGNORE=	-zignore
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   765
ZINITFIRST=	-zinitfirst
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   766
ZINTERPOSE=	-zinterpose
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   767
ZLAZYLOAD=	-zlazyload
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   768
ZLOADFLTR=	-zloadfltr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   769
ZMULDEFS=	-zmuldefs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   770
ZNODEFAULTLIB=	-znodefaultlib
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   771
ZNODEFS=	-znodefs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   772
ZNODELETE=	-znodelete
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   773
ZNODLOPEN=	-znodlopen
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   774
ZNODUMP=	-znodump
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   775
ZNOLAZYLOAD=	-znolazyload
9569
5657927bc642 6806791 filter builds could be optimized
Rod Evans <Rod.Evans@Sun.COM>
parents: 9507
diff changeset
   776
ZNOLDYNSYM=	-znoldynsym
580
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   777
ZNORELOC=	-znoreloc
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   778
ZNOVERSION=	-znoversion
5827
70b03ddc1344 6634436 XFFLAG should be updated.
rie
parents: 5543
diff changeset
   779
ZRECORD=	-zrecord
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   780
ZREDLOCSYM=	-zredlocsym
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   781
ZTEXT=		-ztext
4271
dda1ded496b7 6455532 OSNet cleanup required in preparation for direct bindings
rie
parents: 3667
diff changeset
   782
ZVERBOSE=	-zverbose
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   783
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   784
GSHARED=	-G
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   785
CCMT=		-mt
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   786
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   787
# Handle different PIC models on different ISAs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   788
# (May be overridden by lower-level Makefiles)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   789
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   790
sparc_C_PICFLAGS =	-K pic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   791
sparcv9_C_PICFLAGS =	-K pic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   792
i386_C_PICFLAGS =	-K pic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   793
amd64_C_PICFLAGS =	-K pic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   794
C_PICFLAGS =		$($(MACH)_C_PICFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   795
C_PICFLAGS64 =		$($(MACH64)_C_PICFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   796
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   797
sparc_C_BIGPICFLAGS =	-K PIC
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   798
sparcv9_C_BIGPICFLAGS =	-K PIC
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   799
i386_C_BIGPICFLAGS =	-K PIC
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   800
amd64_C_BIGPICFLAGS =	-K PIC
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   801
C_BIGPICFLAGS =		$($(MACH)_C_BIGPICFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   802
C_BIGPICFLAGS64 =	$($(MACH64)_C_BIGPICFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   803
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   804
# CC requires there to be no space between '-K' and 'pic' or 'PIC'.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   805
sparc_CC_PICFLAGS =	-Kpic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   806
sparcv9_CC_PICFLAGS =	-KPIC
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   807
i386_CC_PICFLAGS = 	-Kpic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   808
amd64_CC_PICFLAGS = 	-Kpic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   809
CC_PICFLAGS =		$($(MACH)_CC_PICFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   810
CC_PICFLAGS64 =		$($(MACH64)_CC_PICFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   811
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   812
AS_PICFLAGS=		$(C_PICFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   813
AS_BIGPICFLAGS=		$(C_BIGPICFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   814
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   815
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   816
# Default label for CTF sections
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   817
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   818
CTFCVTFLAGS=		-i -L VERSION
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   819
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   820
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   821
# Override to pass module-specific flags to ctfmerge.  Currently used
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   822
# only by krtld to turn on fuzzy matching.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   823
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   824
CTFMRGFLAGS=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   825
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   826
CTFCONVERT_O		= $(CTFCONVERT) $(CTFCVTFLAGS) $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   827
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   828
ELFSIGN_O=	$(TRUE)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   829
ELFSIGN_CRYPTO=	$(ELFSIGN_O)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   830
ELFSIGN_OBJECT=	$(ELFSIGN_O)
5021
86546f219f69 6600881 Integration for bugID# 6480942 Crypto support UltraSPARC-T2 processor, breaks SU4 src product builds
gm89044
parents: 4947
diff changeset
   831
ELFSIGN_CRYPTO_LIMITED=	$(ELFSIGN_O)
1167
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   832
$(EXPORT_RELEASE_BUILD)ELFSIGN_O =	$(ELFSIGN)
3667
089a83b5d0bc 6391249 elfsign needs to support Verisign certificate chain
johnz
parents: 3466
diff changeset
   833
$(EXPORT_RELEASE_BUILD)ELFSIGN_CFNAME =	SUNWosnetCF
1167
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   834
$(EXPORT_RELEASE_BUILD)ELFSIGN_KEY =	\
3667
089a83b5d0bc 6391249 elfsign needs to support Verisign certificate chain
johnz
parents: 3466
diff changeset
   835
			$(CLOSED)/cmd/cmd-crypto/etc/keys/$(ELFSIGN_CFNAME)
1167
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   836
$(EXPORT_RELEASE_BUILD)ELFSIGN_CERT=	\
3667
089a83b5d0bc 6391249 elfsign needs to support Verisign certificate chain
johnz
parents: 3466
diff changeset
   837
			$(CLOSED)/cmd/cmd-crypto/etc/certs/$(ELFSIGN_CFNAME)
089a83b5d0bc 6391249 elfsign needs to support Verisign certificate chain
johnz
parents: 3466
diff changeset
   838
$(EXPORT_RELEASE_BUILD)ELFSIGN_CLNAME =	SUNWosnetCFLimited
3156
30109e935ec8 FWARC/2006/175 MD definition for N2 CWQ
girish
parents: 2886
diff changeset
   839
$(EXPORT_RELEASE_BUILD)ELFSIGN_KEY_LIMITED =	\
3667
089a83b5d0bc 6391249 elfsign needs to support Verisign certificate chain
johnz
parents: 3466
diff changeset
   840
			$(CLOSED)/cmd/cmd-crypto/etc/keys/$(ELFSIGN_CLNAME)
3156
30109e935ec8 FWARC/2006/175 MD definition for N2 CWQ
girish
parents: 2886
diff changeset
   841
$(EXPORT_RELEASE_BUILD)ELFSIGN_CERT_LIMITED=	\
3667
089a83b5d0bc 6391249 elfsign needs to support Verisign certificate chain
johnz
parents: 3466
diff changeset
   842
			$(CLOSED)/cmd/cmd-crypto/etc/certs/$(ELFSIGN_CLNAME)
089a83b5d0bc 6391249 elfsign needs to support Verisign certificate chain
johnz
parents: 3466
diff changeset
   843
$(EXPORT_RELEASE_BUILD)ELFSIGN_SENAME =	SUNWosnetSE
1167
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   844
$(EXPORT_RELEASE_BUILD)ELFSIGN_SEKEY =	\
3667
089a83b5d0bc 6391249 elfsign needs to support Verisign certificate chain
johnz
parents: 3466
diff changeset
   845
			$(CLOSED)/cmd/cmd-crypto/etc/keys/$(ELFSIGN_SENAME)
1167
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   846
$(EXPORT_RELEASE_BUILD)ELFSIGN_SECERT=	\
3667
089a83b5d0bc 6391249 elfsign needs to support Verisign certificate chain
johnz
parents: 3466
diff changeset
   847
			$(CLOSED)/cmd/cmd-crypto/etc/certs/$(ELFSIGN_SENAME)
1167
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   848
$(EXPORT_RELEASE_BUILD)ELFSIGN_CRYPTO=	$(ELFSIGN_O) sign \
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   849
			$(ELFSIGN_FORMAT_OPTION) \
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   850
			-k $(ELFSIGN_KEY) -c $(ELFSIGN_CERT) -e $@
3156
30109e935ec8 FWARC/2006/175 MD definition for N2 CWQ
girish
parents: 2886
diff changeset
   851
$(EXPORT_RELEASE_BUILD)ELFSIGN_CRYPTO_LIMITED=	$(ELFSIGN_O) sign \
30109e935ec8 FWARC/2006/175 MD definition for N2 CWQ
girish
parents: 2886
diff changeset
   852
			$(ELFSIGN_FORMAT_OPTION) \
3667
089a83b5d0bc 6391249 elfsign needs to support Verisign certificate chain
johnz
parents: 3466
diff changeset
   853
			-k $(ELFSIGN_KEY_LIMITED) -c $(ELFSIGN_CERT_LIMITED) \
089a83b5d0bc 6391249 elfsign needs to support Verisign certificate chain
johnz
parents: 3466
diff changeset
   854
			-e $@
1167
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   855
$(EXPORT_RELEASE_BUILD)ELFSIGN_OBJECT=	$(ELFSIGN_O) sign \
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   856
			$(ELFSIGN_FORMAT_OPTION) \
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   857
			-k $(ELFSIGN_SEKEY) -c $(ELFSIGN_SECERT) -e $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   858
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   859
# Rules (normally from make.rules) and macros which are used for post
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   860
# processing files. Normally, these do stripping of the comment section
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   861
# automatically.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   862
#    RELEASE_CM:	Should be editted to reflect the release.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   863
#    POST_PROCESS_O:	Post-processing for `.o' files.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   864
#    POST_PROCESS_A:	Post-processing for `.a' files (currently null).
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   865
#    POST_PROCESS_SO:	Post-processing for `.so' files.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   866
#    POST_PROCESS:	Post-processing for executable files (no suffix).
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   867
# Note that these macros are not completely generalized as they are to be
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   868
# used with the file name to be processed following.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   869
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   870
# It is left as an exercise to Release Engineering to embellish the generation
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   871
# of the release comment string.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   872
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   873
#	If this is a standard development build:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   874
#		compress the comment section (mcs -c)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   875
#		add the standard comment (mcs -a $(RELEASE_CM))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   876
#		add the development specific comment (mcs -a $(DEV_CM))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   877
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   878
#	If this is an installation build:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   879
#		delete the comment section (mcs -d)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   880
#		add the standard comment (mcs -a $(RELEASE_CM))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   881
#		add the development specific comment (mcs -a $(DEV_CM))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   882
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   883
#	If this is an release build:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   884
#		delete the comment section (mcs -d)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   885
#		add the standard comment (mcs -a $(RELEASE_CM))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   886
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   887
#	The ONVERS macro sets the default value for the VERSION string
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   888
#	within pkginfo.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   889
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   890
# The following list of macros are used in the definition of RELEASE_CM
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   891
# which is used to label all binaries in the build:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   892
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   893
# 	RELEASE		Specific release of the build, eg: 5.2
5303
97e95cb2f469 6599659 Makefiles shouldn't have to tear $(RELEASE) apart
meem
parents: 5184
diff changeset
   894
#	RELEASE_MAJOR	Major version number part of $(RELEASE)
97e95cb2f469 6599659 Makefiles shouldn't have to tear $(RELEASE) apart
meem
parents: 5184
diff changeset
   895
#	RELEASE_MINOR	Minor version number part of $(RELEASE)
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   896
#	VERSION		Version of the build (alpha, beta, Generic)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   897
#	PATCHID		If this is a patch this value should contain
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   898
#			the patchid value (eg: "Generic 100832-01"), otherwise
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   899
#			it will be set to $(VERSION)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   900
#	RELEASE_DATE	Date of the Release Build
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   901
#	PATCH_DATE	Date the patch was created, if this is blank it
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   902
#			will default to the RELEASE_DATE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   903
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   904
ONVERS=		"11.11"
5303
97e95cb2f469 6599659 Makefiles shouldn't have to tear $(RELEASE) apart
meem
parents: 5184
diff changeset
   905
RELEASE_MAJOR=	5
97e95cb2f469 6599659 Makefiles shouldn't have to tear $(RELEASE) apart
meem
parents: 5184
diff changeset
   906
RELEASE_MINOR=	11
97e95cb2f469 6599659 Makefiles shouldn't have to tear $(RELEASE) apart
meem
parents: 5184
diff changeset
   907
RELEASE=	$(RELEASE_MAJOR).$(RELEASE_MINOR)
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   908
VERSION=	SunOS Development
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   909
PATCHID=	$(VERSION)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   910
RELEASE_DATE=	October 2007
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   911
PATCH_DATE=	$(RELEASE_DATE)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   912
RELEASE_CM=	"@($(POUND_SIGN))SunOS $(RELEASE) $(PATCHID) $(PATCH_DATE)"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   913
DEV_CM=		"@($(POUND_SIGN))SunOS Internal Development: \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   914
`$(ECHO) $$LOGNAME` `date +%Y-%m-%d` `$(ECHO) [\`basename $$CODEMGR_WS\`]`"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   915
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   916
PROCESS_COMMENT=		   @?${MCS} -c -a $(RELEASE_CM) -a $(DEV_CM)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   917
$(STRIP_COMMENTS)PROCESS_COMMENT=  @?${MCS} -d -a $(RELEASE_CM) -a $(DEV_CM)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   918
$(RELEASE_BUILD)PROCESS_COMMENT=   @?${MCS} -d -a $(RELEASE_CM)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   919
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   920
STRIP_STABS=			   :
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   921
$(RELEASE_BUILD)STRIP_STABS=	   $(STRIP) -x $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   922
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   923
POST_PROCESS_O=		$(PROCESS_COMMENT) $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   924
POST_PROCESS_A=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   925
POST_PROCESS_SO=	$(PROCESS_COMMENT) $@ ; $(STRIP_STABS) ; \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   926
			$(ELFSIGN_OBJECT)
524
259d2acc2f55 5072038 binaries shouldn't be stripped
rie
parents: 499
diff changeset
   927
POST_PROCESS=		$(PROCESS_COMMENT) $@ ; $(STRIP_STABS) ; \
259d2acc2f55 5072038 binaries shouldn't be stripped
rie
parents: 499
diff changeset
   928
			$(ELFSIGN_OBJECT)
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   929
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   930
#
9507
e6271d3ec9f2 6831697 tool to check sun4u bootable modules for reoccurrence of 6828121 needed
Jerry Gilliam <Jerry.Gilliam@Sun.COM>
parents: 9396
diff changeset
   931
# chk4ubin is a tool that inspects a module for a symbol table
e6271d3ec9f2 6831697 tool to check sun4u bootable modules for reoccurrence of 6828121 needed
Jerry Gilliam <Jerry.Gilliam@Sun.COM>
parents: 9396
diff changeset
   932
# ELF section size which can trigger an OBP bug on older platforms.
e6271d3ec9f2 6831697 tool to check sun4u bootable modules for reoccurrence of 6828121 needed
Jerry Gilliam <Jerry.Gilliam@Sun.COM>
parents: 9396
diff changeset
   933
# This problem affects only specific sun4u bootable modules.
e6271d3ec9f2 6831697 tool to check sun4u bootable modules for reoccurrence of 6828121 needed
Jerry Gilliam <Jerry.Gilliam@Sun.COM>
parents: 9396
diff changeset
   934
#
e6271d3ec9f2 6831697 tool to check sun4u bootable modules for reoccurrence of 6828121 needed
Jerry Gilliam <Jerry.Gilliam@Sun.COM>
parents: 9396
diff changeset
   935
CHK4UBIN=	$(ONBLD_TOOLS)/bin/$(MACH)/chk4ubin
e6271d3ec9f2 6831697 tool to check sun4u bootable modules for reoccurrence of 6828121 needed
Jerry Gilliam <Jerry.Gilliam@Sun.COM>
parents: 9396
diff changeset
   936
CHK4UBINFLAGS=
e6271d3ec9f2 6831697 tool to check sun4u bootable modules for reoccurrence of 6828121 needed
Jerry Gilliam <Jerry.Gilliam@Sun.COM>
parents: 9396
diff changeset
   937
CHK4UBINARY=	$(CHK4UBIN) $(CHK4UBINFLAGS) $@
e6271d3ec9f2 6831697 tool to check sun4u bootable modules for reoccurrence of 6828121 needed
Jerry Gilliam <Jerry.Gilliam@Sun.COM>
parents: 9396
diff changeset
   938
e6271d3ec9f2 6831697 tool to check sun4u bootable modules for reoccurrence of 6828121 needed
Jerry Gilliam <Jerry.Gilliam@Sun.COM>
parents: 9396
diff changeset
   939
#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   940
# The PKGDEFS macro points to the source directory containing the majority
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   941
# of ON's package definitions plus Makefiles with general package creation
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   942
# rules.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   943
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   944
# PKGARCHIVE specifies the default location where packages should be
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   945
# placed if built.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   946
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   947
PKGDEFS=$(SRC)/pkgdefs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   948
$(RELEASE_BUILD)PKGARCHIVESUFFIX=	-nd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   949
PKGARCHIVE=$(SRC)/../../packages/$(MACH)/nightly$(PKGARCHIVESUFFIX)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   950
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   951
#	Default build rules which perform comment section post-processing.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   952
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   953
.c:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   954
	$(LINK.c) -o $@ $< $(LDLIBS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   955
	$(POST_PROCESS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   956
.c.o:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   957
	$(COMPILE.c) $(OUTPUT_OPTION) $< $(CTFCONVERT_HOOK)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   958
	$(POST_PROCESS_O)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   959
.c.a:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   960
	$(COMPILE.c) -o $% $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   961
	$(PROCESS_COMMENT) $%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   962
	$(AR) $(ARFLAGS) $@ $%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   963
	$(RM) $%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   964
.s.o:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   965
	$(COMPILE.s) -o $@ $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   966
	$(POST_PROCESS_O)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   967
.s.a:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   968
	$(COMPILE.s) -o $% $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   969
	$(PROCESS_COMMENT) $%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   970
	$(AR) $(ARFLAGS) $@ $%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   971
	$(RM) $%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   972
.cc:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   973
	$(LINK.cc) -o $@ $< $(LDLIBS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   974
	$(POST_PROCESS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   975
.cc.o:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   976
	$(COMPILE.cc) $(OUTPUT_OPTION) $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   977
	$(POST_PROCESS_O)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   978
.cc.a:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   979
	$(COMPILE.cc) -o $% $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   980
	$(AR) $(ARFLAGS) $@ $%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   981
	$(PROCESS_COMMENT) $%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   982
	$(RM) $%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   983
.y:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   984
	$(YACC.y) $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   985
	$(LINK.c) -o $@ y.tab.c $(LDLIBS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   986
	$(POST_PROCESS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   987
	$(RM) y.tab.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   988
.y.o:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   989
	$(YACC.y) $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   990
	$(COMPILE.c) -o $@ y.tab.c $(CTFCONVERT_HOOK)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   991
	$(POST_PROCESS_O)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   992
	$(RM) y.tab.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   993
.l:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   994
	$(RM) $*.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   995
	$(LEX.l) $< > $*.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   996
	$(LINK.c) -o $@ $*.c -ll $(LDLIBS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   997
	$(POST_PROCESS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   998
	$(RM) $*.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   999
.l.o:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1000
	$(RM) $*.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1001
	$(LEX.l) $< > $*.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1002
	$(COMPILE.c) -o $@ $*.c $(CTFCONVERT_HOOK)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1003
	$(POST_PROCESS_O)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1004
	$(RM) $*.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1005
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1006
.java.class:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1007
	$(COMPILE.java) $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1008
6350
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1009
# Bourne and Korn shell script message catalog build rules.
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1010
# We extract all gettext strings with sed(1) (being careful to permit
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1011
# multiple gettext strings on the same line), weed out the dups, and
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1012
# build the catalogue with awk(1).
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1013
6350
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1014
.sh.po .ksh.po:
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1015
	$(SED) -n -e ":a" 				\
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1016
		  -e "h" 					\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1017
		  -e "s/.*gettext *\(\"[^\"]*\"\).*/\1/p"	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1018
		  -e "x"					\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1019
		  -e "s/\(.*\)gettext *\"[^\"]*\"\(.*\)/\1\2/"	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1020
		  -e "t a"					\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1021
	       $< | sort -u | awk '{ print "msgid\t" $$0 "\nmsgstr" }' > $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1022
6350
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1023
#
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1024
# Python and Perl executable and message catalog build rules.
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1025
#
7078
935563142864 6538468 add Mercurial support to ON developer tools
mjnelson
parents: 6812
diff changeset
  1026
.SUFFIXES: .pl .pm .py .pyc
6350
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1027
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1028
.pl:
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1029
	$(RM) $@;
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1030
	$(SED) -e "s@TEXT_DOMAIN@\"$(TEXT_DOMAIN)\"@" $< > $@;
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1031
	$(CHMOD) +x $@
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1032
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1033
.py:
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1034
	$(RM) $@; $(CAT) $< > $@; $(CHMOD) +x $@
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1035
7078
935563142864 6538468 add Mercurial support to ON developer tools
mjnelson
parents: 6812
diff changeset
  1036
.py.pyc:
935563142864 6538468 add Mercurial support to ON developer tools
mjnelson
parents: 6812
diff changeset
  1037
	$(RM) $@
935563142864 6538468 add Mercurial support to ON developer tools
mjnelson
parents: 6812
diff changeset
  1038
	$(PYTHON) -mpy_compile $<
935563142864 6538468 add Mercurial support to ON developer tools
mjnelson
parents: 6812
diff changeset
  1039
	@[ $(<)c = $@ ] || $(MV) $(<)c $@
935563142864 6538468 add Mercurial support to ON developer tools
mjnelson
parents: 6812
diff changeset
  1040
9396
f41cf682d0d3 PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents: 8731
diff changeset
  1041
.py.po:
f41cf682d0d3 PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents: 8731
diff changeset
  1042
	$(GNUXGETTEXT) $(GNUXGETFLAGS) -d $(<F:%.py=%) $< ;
f41cf682d0d3 PSARC/2009/204 ZFS user/group quotas & space accounting
Matthew Ahrens <Matthew.Ahrens@Sun.COM>
parents: 8731
diff changeset
  1043
6350
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1044
.pl.po .pm.po:
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1045
	$(XGETTEXT) $(XGETFLAGS) -d $(<F) $< ;
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1046
	$(RM)	$@ ;
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1047
	$(SED) "/^domain/d" < $(<F).po > $@ ;
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1048
	$(RM) $(<F).po
2712
f74a135872bc PSARC/2005/471 BrandZ: Support for non-native zones
nn35248
parents: 2605
diff changeset
  1049
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1050
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1051
# When using xgettext, we want messages to go to the default domain,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1052
# rather than the specified one.  This special version of the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1053
# COMPILE.cpp macro effectively prevents expansion of TEXT_DOMAIN,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1054
# causing xgettext to put all messages into the default domain.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1055
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1056
CPPFORPO=$(COMPILE.cpp:\"$(TEXT_DOMAIN)\"=TEXT_DOMAIN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1057
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1058
.c.i:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1059
	$(CPPFORPO) $< > $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1060
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1061
.h.i:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1062
	$(CPPFORPO) $< > $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1063
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1064
.y.i:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1065
	$(YACC) -d $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1066
	$(CPPFORPO) y.tab.c  > $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1067
	$(RM) y.tab.c 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1068
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1069
.l.i:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1070
	$(LEX) $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1071
	$(CPPFORPO) lex.yy.c  > $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1072
	$(RM) lex.yy.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1073
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1074
.c.po:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1075
	$(CPPFORPO) $< > $<.i
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1076
	$(BUILD.po)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1077
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1078
.y.po:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1079
	$(YACC) -d $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1080
	$(CPPFORPO) y.tab.c  > $<.i
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1081
	$(BUILD.po)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1082
	$(RM) y.tab.c 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1083
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1084
.l.po:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1085
	$(LEX) $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1086
	$(CPPFORPO) lex.yy.c  > $<.i
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1087
	$(BUILD.po)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1088
	$(RM) lex.yy.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1089
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1090
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1091
# Rules to perform stylistic checks
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1092
#
6350
aec7d1368710 6680948 ON could use some common Perl and Python build rules
carlsonj
parents: 5827
diff changeset
  1093
.SUFFIXES: .x .xml .check .xmlchk
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1094
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1095
.h.check:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1096
	$(DOT_H_CHECK)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1097
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1098
.x.check:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1099
	$(DOT_X_CHECK)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1100
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1101
.xml.xmlchk:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1102
	$(MANIFEST_CHECK)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1103
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1104
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1105
# Rules to process ONC+ Source partial files
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1106
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1107
%_onc_plus:	%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1108
	@$(ECHO) "extracting code from $< ... "
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
  1109
	sed -n -e '/ONC_PLUS EXTRACT START/,/ONC_PLUS EXTRACT END/p' $<  > $@
1810
da7eacf55e82 6407796 "sccs get" rule considered harmful
sommerfe
parents: 1792
diff changeset
  1110
da7eacf55e82 6407796 "sccs get" rule considered harmful
sommerfe
parents: 1792
diff changeset
  1111
#
da7eacf55e82 6407796 "sccs get" rule considered harmful
sommerfe
parents: 1792
diff changeset
  1112
# Include rules to render automated sccs get rules "safe".
da7eacf55e82 6407796 "sccs get" rule considered harmful
sommerfe
parents: 1792
diff changeset
  1113
# 
da7eacf55e82 6407796 "sccs get" rule considered harmful
sommerfe
parents: 1792
diff changeset
  1114
include $(SRC)/Makefile.noget