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