usr/src/Makefile.master
author kupfer
Wed, 21 Dec 2005 19:47:57 -0800
changeset 1167 9608ad751c4d
parent 580 70dfd36fd02c
child 1717 ef845d4a1074
permissions -rw-r--r--
6289535 build_cscope complains a bit on x86 6303550 xencrypt, xdecrypt no longer mangled 6316770 split the tree into open and closed trees 6321333 Install.sh is over-zealous looking for kmods
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
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    23
# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    24
# Use is subject to license terms.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    25
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    26
# ident	"%Z%%M%	%I%	%E% SMI"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    27
#
580
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
    28
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
    29
#
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    30
# Makefile.master, global definitions for system source
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    31
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    32
ROOT=		/proto
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    33
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    34
# Historically, ON builds were always done with root permissions, and the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    35
# owner/group information was duplicated in the Makefiles and the packaging
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    36
# data and kept in sync by manual intervention.  This is no longer true.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    37
# The only source of this information is packaging.  The proto area ($ROOT)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    38
# does not have definitive onwer/group information, and no Makefile should
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    39
# attempt to set this.  CH once toggled operations restricted to root.  It
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    40
# is now just set to `#'.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    41
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    42
# At some point in the future, CH, CHOWN, CHGRP, OWNER, and GROUP should all
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    43
# be stripped completely from the source base.  They are kept for now until
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    44
# on10-based projects can merge and transition away from them.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    45
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    46
# RELEASE_BUILD should be cleared for final release builds. This is completely
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    47
# independent of CH. NOT_RELEASE_BUILD is exactly what the name implies.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    48
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    49
# INTERNAL_RELEASE_BUILD is a subset of RELEASE_BUILD. It mostly controls
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    50
# identification strings. Enabling RELEASE_BUILD automatically enables
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    51
# INTERNAL_RELEASE_BUILD.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    52
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    53
# EXPORT_RELEASE_BUILD controls whether binaries are built in a form that
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    54
# 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
    55
# the other *RELEASE_BUILD settings.  ("#" means do an export release
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    56
# build, "" means do a normal build.)
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    57
#
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    58
# CLOSED_BUILD controls whether we try to build files under
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    59
# 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
    60
# 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
    61
# build.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    62
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    63
# STRIP_COMMENTS toggles comment section striping. Generally the same setting
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    64
# as INTERNAL_RELEASE_BUILD.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    65
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    66
# __GNUC toggles the building of ON components using gcc and related tools.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    67
# Normally set to `#', set it to `' to do gcc build.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    68
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    69
# The declaration POUND_SIGN is always '#'. This is needed to get around the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    70
# make feature that '#' is always a comment delimiter, even when escaped or
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    71
# quoted.  The only way of generating this is the :sh macro mechanism.  Note
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    72
# however that in general :sh macros should be avoided in makefiles that are
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    73
# widely included into other makefiles, as the resulting shell executions can
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    74
# cause a noticable slowdown in build times.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    75
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    76
POUND_SIGN:sh=				echo \\043
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    77
CH=					$(POUND_SIGN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    78
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    79
NOT_RELEASE_BUILD=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    80
INTERNAL_RELEASE_BUILD=			$(POUND_SIGN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    81
RELEASE_BUILD=				$(POUND_SIGN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    82
$(RELEASE_BUILD)NOT_RELEASE_BUILD=	$(POUND_SIGN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    83
$(RELEASE_BUILD)INTERNAL_RELEASE_BUILD=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    84
PATCH_BUILD=				$(POUND_SIGN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    85
1167
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    86
# 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
    87
CLOSED_BUILD_1=	$(CLOSED_IS_PRESENT:yes=)
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    88
CLOSED_BUILD=	$(CLOSED_BUILD_1:no=$(POUND_SIGN))
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    89
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    90
EXPORT_RELEASE_BUILD=			$(POUND_SIGN)
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    91
$(CLOSED_BUILD)EXPORT_RELEASE_BUILD=
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
    92
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    93
# SPARC_BLD is '#' for an Intel build.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    94
# INTEL_BLD is '#' for a Sparc build.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    95
SPARC_BLD_1=    $(MACH:i386=$(POUND_SIGN))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    96
SPARC_BLD=      $(SPARC_BLD_1:sparc=)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    97
INTEL_BLD_1=    $(MACH:sparc=$(POUND_SIGN))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    98
INTEL_BLD=      $(INTEL_BLD_1:i386=)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    99
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   100
STRIP_COMMENTS=	$(INTERNAL_RELEASE_BUILD)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   101
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   102
# set __GNUC= in the environment to build 32-bit with the gcc compiler.
499
3fe4d3ff5864 6316914 changes in ON needed for Vulcan (SunStudio 10) compiler switch
petede
parents: 411
diff changeset
   103
# The default is to use the Sun Studio 10 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.
3fe4d3ff5864 6316914 changes in ON needed for Vulcan (SunStudio 10) compiler switch
petede
parents: 411
diff changeset
   107
# The default is to use the Sun Studio 10 compiler by using the __GNUC
3fe4d3ff5864 6316914 changes in ON needed for Vulcan (SunStudio 10) compiler switch
petede
parents: 411
diff changeset
   108
# setting.
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
1167
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   111
# 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
   112
# as open source
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   113
CLOSED=		$(SRC)/../closed
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   114
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   115
# BUILD_TOOLS is the root of all tools including compilers.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   116
# ONBLD_TOOLS is the root of all the tools that are part of SUNWonbld.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   117
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   118
BUILD_TOOLS=		/ws/onnv-tools
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   119
ONBLD_TOOLS=		$(BUILD_TOOLS)/onbld
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   120
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   121
JAVA_ROOT=	/usr/java
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   122
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   123
SFW_ROOT=	/usr/sfw
39
dc9b7493e881 6287497 openssl cpp flags needs to be adjusted for export builds
dinak
parents: 0
diff changeset
   124
SFWINCDIR=	$(SFW_ROOT)/include
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   125
SFWLIBDIR=	$(SFW_ROOT)/lib
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   126
SFWLIBDIR64=	$(SFW_ROOT)/lib/$(MACH64)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   127
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   128
RPCGEN=		/usr/bin/rpcgen
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   129
STABS=		$(ONBLD_TOOLS)/bin/$(MACH)/stabs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   130
ECHO=		echo
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   131
INS=		install
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   132
TRUE=		true
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   133
SYMLINK=	/usr/bin/ln -s
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   134
LN=		/usr/bin/ln
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   135
CHMOD=		/usr/bin/chmod
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   136
CHOWN=		$(TRUE)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   137
CHGRP=		$(TRUE)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   138
MV=		/usr/bin/mv -f
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   139
RM=		/usr/bin/rm -f
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   140
GREP=		/usr/bin/grep
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   141
SED=		/usr/bin/sed
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   142
NAWK=		/usr/bin/nawk
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   143
CP=		/usr/bin/cp -f
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   144
MCS=		/usr/ccs/bin/mcs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   145
CAT=            /usr/bin/cat
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   146
M4=		/usr/ccs/bin/m4
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   147
STRIP=		/usr/ccs/bin/strip
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   148
LEX=		/usr/ccs/bin/lex
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   149
YACC=		/usr/ccs/bin/yacc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   150
CPP=		/usr/lib/cpp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   151
JAVAC=		$(JAVA_ROOT)/bin/javac
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   152
JAVAH=		$(JAVA_ROOT)/bin/javah
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   153
JAVADOC=	$(JAVA_ROOT)/bin/javadoc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   154
RMIC=		$(JAVA_ROOT)/bin/rmic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   155
JAR=		$(JAVA_ROOT)/bin/jar
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   156
CTFCONVERT=	$(ONBLD_TOOLS)/bin/$(MACH)/ctfconvert
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   157
CTFMERGE=	$(ONBLD_TOOLS)/bin/$(MACH)/ctfmerge
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   158
CTFSTABS=	$(ONBLD_TOOLS)/bin/$(MACH)/ctfstabs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   159
GENOFFSETS=	$(ONBLD_TOOLS)/bin/genoffsets
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   160
CTFCVTPTBL=	$(ONBLD_TOOLS)/bin/ctfcvtptbl
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   161
CTFFINDMOD=	$(ONBLD_TOOLS)/bin/ctffindmod
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   162
XREF=		$(ONBLD_TOOLS)/bin/xref
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   163
FIND=		/usr/bin/find
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   164
PERL=		/usr/bin/perl
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   165
SORT=		/usr/bin/sort
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   166
TOUCH=		/usr/bin/touch
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   167
WC=		/usr/bin/wc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   168
XARGS=		/usr/bin/xargs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   169
ELFSIGN=	/usr/bin/elfsign
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   170
DTRACE=		/usr/sbin/dtrace
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   171
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   172
FILEMODE=	644
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   173
DIRMODE=	755
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   174
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   175
# Note: owner and group for proto area objects is no longer set by
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   176
# Makefiles at all.  These have no real effect and are kept here for
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   177
# transition purposes.  They (along with CH, CHOWN, and CHGRP) should be
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   178
# removed early in the s11 development cycle.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   179
OWNER=		root
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   180
GROUP=		bin
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   181
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   182
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   183
# The version of the patch makeup table optimized for build-time use.  Used
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   184
# during patch builds only.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   185
$(PATCH_BUILD)PMTMO_FILE=$(SRC)/patch_makeup_table.mo
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   186
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   187
# Declare that nothing should be built in parallel.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   188
# Individual Makefiles can use the .PARALLEL target to declare otherwise.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   189
.NO_PARALLEL:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   190
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   191
# For stylistic checks
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   192
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   193
# 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
   194
# modification when they are actually used.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   195
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   196
CSTYLE=		cstyle
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   197
CSTYLE_TAIL=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   198
HDRCHK=		hdrchk
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   199
HDRCHK_TAIL=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   200
JSTYLE=		jstyle
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   201
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   202
DOT_H_CHECK=	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   203
	@$(ECHO) "checking $<"; $(CSTYLE) $< $(CSTYLE_TAIL); \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   204
	$(HDRCHK) $< $(HDRCHK_TAIL)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   205
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   206
DOT_X_CHECK=	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   207
	@$(ECHO) "checking $<"; $(RPCGEN) -C -h $< | $(CSTYLE) $(CSTYLE_TAIL); \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   208
	$(RPCGEN) -C -h $< | $(HDRCHK) $< $(HDRCHK_TAIL)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   209
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   210
DOT_C_CHECK=	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   211
	@$(ECHO) "checking $<"; $(CSTYLE) $< $(CSTYLE_TAIL)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   212
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   213
MANIFEST_CHECK=	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   214
	@$(ECHO) "checking $<"; \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   215
	SVCCFG_DTD=$(SRC)/cmd/svc/dtd/service_bundle.dtd.1 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   216
	$(SRC)/cmd/svc/svccfg/svccfg-native validate $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   217
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   218
INS.file=	$(RM) $@; $(INS) -s -m $(FILEMODE) -f $(@D) $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   219
INS.dir=	$(INS) -s -d -m $(DIRMODE) $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   220
# installs and renames at once
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   221
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   222
INS.rename=	$(INS.file); $(MV) $(@D)/$(<F) $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   223
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   224
# install a link
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   225
INSLINKTARGET=	$<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   226
INS.link=	$(RM) $@; $(LN) $(INSLINKTARGET) $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   227
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   228
# MACH must be set in the shell environment per uname -p on the build host
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   229
# More specific architecture variables should be set in lower makefiles.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   230
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   231
# MACH64 is derived from MACH, and BUILD64 is set to `#' for
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   232
# architectures on which we do not build 64-bit versions.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   233
# (There are no such architectures at the moment.)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   234
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   235
# Set BUILD64=# in the environment to disable 64-bit amd64
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   236
# builds on i386 machines.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   237
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   238
MACH64_1=	$(MACH:sparc=sparcv9)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   239
MACH64=		$(MACH64_1:i386=amd64)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   240
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   241
MACH32_1=	$(MACH:sparc=sparcv7)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   242
MACH32=		$(MACH32_1:i386=i86)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   243
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   244
sparc_BUILD64=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   245
i386_BUILD64=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   246
BUILD64=	$($(MACH)_BUILD64)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   247
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   248
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   249
# C compiler mode. Future compilers may change the default on us,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   250
# so force extended ANSI mode globally. Lower level makefiles can
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   251
# override this by setting CCMODE.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   252
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   253
CCMODE=			-Xa
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   254
CCMODE64=		-Xa
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   255
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   256
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   257
# C compiler verbose mode. This is so we can enable it globally,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   258
# but turn it off in the lower level makefiles of things we cannot
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   259
# (or aren't going to) fix.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   260
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   261
CCVERBOSE=		-v
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   262
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   263
# set this to the secret flag "-Wc,-Qiselect-v9abiwarn=1" to get warnings
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   264
# from the compiler about places the -xarch=v9 may differ from -xarch=v9c.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   265
V9ABIWARN=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   266
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   267
# set this to the secret flag "-Wc,-Qiselect-regsym=0" to disable register
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   268
# symbols (used to detect conflicts between objects that use global registers)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   269
# we disable this now for safety, and because genunix doesn't link with
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   270
# this feature (the v9 default) enabled.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   271
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   272
# REGSYM is separate since the C++ driver syntax is different.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   273
CCREGSYM=		-Wc,-Qiselect-regsym=0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   274
CCCREGSYM=		-Qoption cg -Qiselect-regsym=0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   275
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   276
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   277
# generate 32-bit addresses in the v9 kernel. Saves memory.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   278
CCABS32=		-Wc,-xcode=abs32
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   279
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   280
# One optimization the compiler might perform is to turn this:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   281
#	#pragma weak foo
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   282
#	extern int foo;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   283
#	if (&foo)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   284
#		foo = 5;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   285
# into
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   286
#	foo = 5;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   287
# Since we do some of this (foo might be referenced in common kernel code
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   288
# but provided only for some cpu modules or platforms), we disable this
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   289
# optimization.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   290
# 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   291
sparc_CCUNBOUND	= -Wd,-xsafe=unboundsym
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   292
i386_CCUNBOUND	=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   293
CCUNBOUND	= $($(MACH)_CCUNBOUND)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   294
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   295
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   296
# compiler '-xarch' flag. This is here to centralize it and make it
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   297
# overridable for testing.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   298
sparc_XARCH=		-xarch=v8
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   299
sparcv9_XARCH=		-xarch=v9
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   300
i386_XARCH=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   301
amd64_XARCH=		-xarch=amd64 -Ui386 -U__i386
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   302
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   303
# assembler '-xarch' flag.  Different from compiler '-xarch' flag.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   304
sparc_AS_XARCH=		-xarch=v8
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   305
sparcv9_AS_XARCH=	-xarch=v9
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   306
i386_AS_XARCH=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   307
amd64_AS_XARCH=		-xarch=amd64 -P -Ui386 -U__i386
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   308
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   309
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   310
# These flags define what we need to be 'standalone' i.e. -not- part
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   311
# of the rather more cosy userland environment.  This basically means
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   312
# the kernel.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   313
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   314
# XX64	future versions of gcc will make -mcmodel=kernel imply -mno-red-zone
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   315
#
580
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   316
sparc_STAND_FLAGS=	-_gcc=-ffreestanding
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   317
sparcv9_STAND_FLAGS=	-_gcc=-ffreestanding
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   318
i386_STAND_FLAGS=	-_gcc=-ffreestanding
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   319
amd64_STAND_FLAGS=	-Wu,-xmodel=kernel
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   320
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   321
SAVEARGS=		-Wu,-save_args
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   322
amd64_STAND_FLAGS	+= $(SAVEARGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   323
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   324
STAND_FLAGS_32 = $($(MACH)_STAND_FLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   325
STAND_FLAGS_64 = $($(MACH64)_STAND_FLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   326
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   327
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   328
# disable the incremental linker
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   329
ILDOFF=			-xildoff
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   330
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   331
XDEPEND=		-xdepend
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   332
XFFLAG=			-xF
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   333
XESS=			-xs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   334
XSTRCONST=		-xstrconst 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   335
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   336
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   337
# turn warnings into errors (C)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   338
CERRWARN = -errtags=yes -errwarn=%all
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   339
CERRWARN += -erroff=E_EMPTY_TRANSLATION_UNIT
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   340
CERRWARN += -erroff=E_STATEMENT_NOT_REACHED
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   341
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   342
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   343
# turn warnings into errors (C++)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   344
CCERRWARN=		-xwe
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   345
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   346
# C99 mode
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   347
C99_ENABLE=	-xc99=%all
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   348
C99_DISABLE=	-xc99=%none
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   349
C99MODE=	$(C99_DISABLE)
65
590fbd3d0588 6289474 C99LMODE should derive automatically from C99MODE
mike_s
parents: 39
diff changeset
   350
C99LMODE=	$(C99MODE:-xc99%=-Xc99%)
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   351
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   352
# In most places, assignments to these macros should be appended with +=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   353
# (CPPFLAGS.master allows values to be prepended to CPPFLAGS).
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   354
sparc_CFLAGS=	$(sparc_XARCH)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   355
sparcv9_CFLAGS=	$(sparcv9_XARCH) -dalign $(CCVERBOSE) $(V9ABIWARN) $(CCREGSYM)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   356
i386_CFLAGS=	$(i386_XARCH)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   357
amd64_CFLAGS=	$(amd64_XARCH)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   358
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   359
sparc_ASFLAGS=	$(sparc_AS_XARCH)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   360
sparcv9_ASFLAGS=$(sparcv9_AS_XARCH)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   361
i386_ASFLAGS=	$(i386_AS_XARCH)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   362
amd64_ASFLAGS=	$(amd64_AS_XARCH)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   363
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   364
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   365
sparc_COPTFLAG=		-xO3
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   366
sparcv9_COPTFLAG=	-xO3
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   367
i386_COPTFLAG=		-O
282
1ba7cc96bbc5 6305107 Reduction in optimisation level hurts performance
sherrym
parents: 224
diff changeset
   368
amd64_COPTFLAG=		-xO3
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   369
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   370
COPTFLAG= $($(MACH)_COPTFLAG)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   371
COPTFLAG64= $($(MACH64)_COPTFLAG)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   372
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   373
# When -g is used, the compiler globalizes static objects
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   374
# (gives them a unique prefix). Disable that.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   375
CNOGLOBAL= -W0,-noglobal
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   376
580
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   377
# Normally, gcc uses indirect DWARF strings to save space.  However,
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   378
# this causes relocations that ctfconvert cannot handle.  Disable this.
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   379
CDWARFSTR=	-_gcc=-fno-dwarf2-indirect-strings
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   380
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   381
# Sometimes we want all symbols and types in debugging information even
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   382
# if they aren't used.
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   383
CALLSYMS=	-W0,-xdbggen=no%usedonly
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   384
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   385
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   386
# Flags used to build in debug mode for ctf generation.  Bugs in the Devpro
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   387
# compilers currently prevent us from building with cc-emitted DWARF.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   388
#
580
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   389
CTF_FLAGS_sparc	= -g -Wc,-Qiselect-T1 $(C99MODE) $(CNOGLOBAL) $(CDWARFSTR)
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   390
CTF_FLAGS_i386	= -g $(C99MODE) $(CNOGLOBAL) $(CDWARFSTR)
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   391
CTF_FLAGS	= $(CTF_FLAGS_$(MACH))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   392
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   393
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   394
# Flags used with genoffsets
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   395
#
224
a34f75a89973 6266620 mi2cv shouldn't #include <note.h>
wesolows
parents: 65
diff changeset
   396
GOFLAGS = -_noecho \
580
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   397
	$(CALLSYMS) \
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   398
	$(CDWARFSTR)
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   399
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   400
OFFSETS_CREATE = $(GENOFFSETS) -s $(CTFSTABS) -r $(CTFCONVERT) \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   401
	$(CC) $(GOFLAGS) $(CFLAGS) $(CPPFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   402
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   403
OFFSETS_CREATE64 = $(GENOFFSETS) -s $(CTFSTABS) -r $(CTFCONVERT) \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   404
	$(CC) $(GOFLAGS) $(CFLAGS64) $(CPPFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   405
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   406
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   407
# tradeoff time for space (smaller is better)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   408
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   409
sparc_SPACEFLAG		= -xspace -W0,-Lt -W2,-Rcond_elim
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   410
sparcv9_SPACEFLAG	= -xspace -W0,-Lt -W2,-Rcond_elim
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   411
i386_SPACEFLAG		= -xspace
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   412
amd64_SPACEFLAG		=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   413
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   414
SPACEFLAG		= $($(MACH)_SPACEFLAG)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   415
SPACEFLAG64		= $($(MACH64)_SPACEFLAG)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   416
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   417
sparc_XREGSFLAG		= -xregs=no%appl
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   418
sparcv9_XREGSFLAG	= -xregs=no%appl
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   419
i386_XREGSFLAG		=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   420
amd64_XREGSFLAG		=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   421
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   422
XREGSFLAG		= $($(MACH)_XREGSFLAG)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   423
XREGSFLAG64		= $($(MACH64)_XREGSFLAG)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   424
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   425
CFLAGS=         $(COPTFLAG) $($(MACH)_CFLAGS) $(SPACEFLAG) $(CCMODE) \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   426
		$(ILDOFF) $(CERRWARN) $(C99MODE) $(CCUNBOUND)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   427
CFLAGS64=       $(COPTFLAG64) $($(MACH64)_CFLAGS) $(SPACEFLAG64) $(CCMODE64) \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   428
		$(ILDOFF) $(CERRWARN) $(C99MODE) $(CCUNBOUND)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   429
NATIVE_CFLAGS=	$(COPTFLAG) $($(NATIVE_MACH)_CFLAGS) $(CCMODE) \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   430
		$(ILDOFF) $(CERRWARN) $(C99MODE) $($(NATIVE_MACH)_CCUNBOUND)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   431
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   432
DTEXTDOM=-DTEXT_DOMAIN=\"$(TEXT_DOMAIN)\"	# For messaging.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   433
DTS_ERRNO=-D_TS_ERRNO
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   434
CPPFLAGS.master=$(DTEXTDOM) $(DTS_ERRNO) \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   435
	$(ENVCPPFLAGS1) $(ENVCPPFLAGS2) $(ENVCPPFLAGS3) $(ENVCPPFLAGS4)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   436
CPPFLAGS=	$(CPPFLAGS.master)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   437
AS_CPPFLAGS=	$(CPPFLAGS.master)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   438
JAVAFLAGS=	-deprecation
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   439
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   440
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   441
# For source message catalogue
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   442
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   443
.SUFFIXES: $(SUFFIXES) .i .po
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   444
MSGROOT= $(ROOT)/catalog
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   445
MSGDOMAIN= $(MSGROOT)/$(TEXT_DOMAIN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   446
MSGDOMAINPOFILE = $(MSGDOMAIN)/$(POFILE)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   447
DCMSGDOMAIN= $(MSGROOT)/LC_TIME/$(TEXT_DOMAIN) 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   448
DCMSGDOMAINPOFILE = $(DCMSGDOMAIN)/$(DCFILE:.dc=.po)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   449
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   450
CLOBBERFILES += $(POFILE) $(POFILES)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   451
COMPILE.cpp= $(CC) -E -C $(CFLAGS) $(CPPFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   452
XGETTEXT= /usr/bin/xgettext
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   453
XGETFLAGS= -c TRANSLATION_NOTE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   454
BUILD.po= $(XGETTEXT) $(XGETFLAGS) -d $(<F) $<.i ;\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   455
	$(RM)	$@ ;\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   456
	sed "/^domain/d" < $(<F).po > $@ ;\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   457
	$(RM) $(<F).po $<.i
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   458
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   459
# This is overwritten by local Makefile when PROG is a list.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   460
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   461
POFILE= $(PROG).po
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   462
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   463
sparc_CCFLAGS=		-cg92 -compat=4 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   464
			-Qoption ccfe -messages=no%anachronism \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   465
			$(CCERRWARN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   466
sparcv9_CCFLAGS=	$(sparcv9_XARCH) -dalign -compat=5 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   467
			-Qoption ccfe -messages=no%anachronism \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   468
			-Qoption ccfe -features=no%conststrings \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   469
			$(CCCREGSYM) \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   470
			$(CCERRWARN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   471
i386_CCFLAGS=		-compat=4 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   472
			-Qoption ccfe -messages=no%anachronism \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   473
			-Qoption ccfe -features=no%conststrings \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   474
			$(CCERRWARN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   475
amd64_CCFLAGS=		$(amd64_XARCH) -compat=5 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   476
			-Qoption ccfe -messages=no%anachronism \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   477
			-Qoption ccfe -features=no%conststrings \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   478
			$(CCERRWARN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   479
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   480
sparc_CCOPTFLAG=	-O
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   481
sparcv9_CCOPTFLAG=	-O
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   482
i386_CCOPTFLAG=		-O
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   483
amd64_CCOPTFLAG=	-O
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   484
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   485
CCOPTFLAG=	$($(MACH)_CCOPTFLAG)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   486
CCOPTFLAG64=	$($(MACH64)_CCOPTFLAG)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   487
CCFLAGS=	$(CCOPTFLAG) $($(MACH)_CCFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   488
CCFLAGS64=	$(CCOPTFLAG64) $($(MACH64)_CCFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   489
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   490
# Used by Makefile.cmd, Makefile.lib and Makefile.ucbcmd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   491
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   492
PGA_MAPFILE =	$(SRC)/cmd/sgs/mapfiles/$(MACH)/map.pagealign
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   493
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   494
# 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   495
# LDLIBS32 can be set in the environment to override the following assignment.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   496
# LDLIBS64 can be set to override the assignment made in Makefile.master.64.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   497
# These environment settings make sure that no libraries are searched outside
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   498
# of the local workspace proto area:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   499
#	LDLIBS32=-YP,$ROOT/lib:$ROOT/usr/lib
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   500
#	LDLIBS64=-YP,$ROOT/lib/$MACH64:$ROOT/usr/lib/$MACH64
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   501
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   502
LDLIBS32 =	$(ENVLDLIBS1) $(ENVLDLIBS2) $(ENVLDLIBS3)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   503
LDLIBS.cmd = 	$(LDLIBS32)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   504
LDLIBS.lib =	$(LDLIBS32)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   505
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   506
# Define compilation macros.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   507
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   508
COMPILE.c=	$(CC) $(CFLAGS) $(CPPFLAGS) -c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   509
COMPILE64.c=	$(CC) $(CFLAGS64) $(CPPFLAGS) -c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   510
COMPILE.cc=	$(CCC) $(CCFLAGS) $(CPPFLAGS) -c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   511
COMPILE64.cc=	$(CCC) $(CCFLAGS64) $(CPPFLAGS) -c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   512
COMPILE.s=	$(AS) $(ASFLAGS) $(AS_CPPFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   513
COMPILE64.s=	$(AS) $(ASFLAGS) $($(MACH64)_AS_XARCH) $(AS_CPPFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   514
COMPILE.d=	$(DTRACE) -G -32
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   515
COMPILE64.d=	$(DTRACE) -G -64
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   516
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   517
CLASSPATH=	.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   518
COMPILE.java=	$(JAVAC) $(JAVAFLAGS) -classpath $(CLASSPATH)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   519
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   520
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   521
# Link time macros
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   522
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   523
CCNEEDED		= -lC
411
ae71859f7fc8 6302154 fix for 6297567 introduces some undesirable output changes
wesolows
parents: 376
diff changeset
   524
$(__GNUC)CCNEEDED	= -L$(SFWLIBDIR) -R$(SFWLIBDIR) -lstdc++ -lgcc_s
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   525
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   526
LINK.c=		$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   527
LINK64.c=	$(CC) $(CFLAGS64) $(CPPFLAGS) $(LDFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   528
NORUNPATH=	-norunpath -nolib
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   529
LINK.cc=	$(CCC) $(CCFLAGS) $(CPPFLAGS) $(NORUNPATH) \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   530
		$(LDFLAGS) $(CCNEEDED)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   531
LINK64.cc=	$(CCC) $(CCFLAGS64) $(CPPFLAGS) $(NORUNPATH) \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   532
		$(LDFLAGS) $(CCNEEDED)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   533
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   534
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   535
# lint macros
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   536
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   537
# Note that the undefine of __PRAGMA_REDEFINE_EXTNAME can be removed once
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   538
# ON is built with a version of lint that has the fix for 4484186.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   539
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   540
ALWAYS_LINT_DEFS =	-errtags=yes -s
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   541
ALWAYS_LINT_DEFS +=	-erroff=E_PTRDIFF_OVERFLOW
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   542
ALWAYS_LINT_DEFS +=	-erroff=E_ASSIGN_NARROW_CONV
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   543
ALWAYS_LINT_DEFS +=	-U__PRAGMA_REDEFINE_EXTNAME
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   544
ALWAYS_LINT_DEFS +=	$(C99LMODE)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   545
ALWAYS_LINT_DEFS +=	-errsecurity=$(SECLEVEL)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   546
ALWAYS_LINT_DEFS +=	-erroff=E_SEC_CREAT_WITHOUT_EXCL
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   547
ALWAYS_LINT_DEFS +=	-erroff=E_SEC_FORBIDDEN_WARN_CREAT
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   548
# XX64 -- really only needed for amd64 lint
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   549
ALWAYS_LINT_DEFS +=	-erroff=E_ASSIGN_INT_TO_SMALL_INT
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   550
ALWAYS_LINT_DEFS +=	-erroff=E_CAST_INT_CONST_TO_SMALL_INT
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   551
ALWAYS_LINT_DEFS +=	-erroff=E_CAST_INT_TO_SMALL_INT
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   552
ALWAYS_LINT_DEFS +=	-erroff=E_CAST_TO_PTR_FROM_INT
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   553
ALWAYS_LINT_DEFS +=	-erroff=E_COMP_INT_WITH_LARGE_INT
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   554
ALWAYS_LINT_DEFS +=	-erroff=E_INTEGRAL_CONST_EXP_EXPECTED
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   555
ALWAYS_LINT_DEFS +=	-erroff=E_PASS_INT_TO_SMALL_INT
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   556
ALWAYS_LINT_DEFS +=	-erroff=E_PTR_CONV_LOSES_BITS
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   557
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   558
SECLEVEL=	core
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   559
LINT.c=		$(LINT) $(LINTFLAGS) $(CPPFLAGS) $(ALWAYS_LINT_DEFS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   560
LINT64.c=	$(LINT) $(LINTFLAGS64) $(CPPFLAGS) $(ALWAYS_LINT_DEFS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   561
LINT.s=		$(LINT.c)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   562
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   563
# For some future builds, NATIVE_MACH and MACH might be different.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   564
# Therefore, NATIVE_MACH needs to be redefined in the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   565
# environment as `uname -p` to override this macro.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   566
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   567
# For now at least, we cross-compile amd64 on i386 machines.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   568
NATIVE_MACH=	$(MACH:amd64=i386)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   569
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   570
# Define native compilation macros
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   571
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   572
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   573
# Base directory where compilers are loaded.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   574
# Defined here so it can be overridden by developer.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   575
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   576
SPRO_ROOT=		$(BUILD_TOOLS)/SUNWspro
499
3fe4d3ff5864 6316914 changes in ON needed for Vulcan (SunStudio 10) compiler switch
petede
parents: 411
diff changeset
   577
SPRO_VROOT=		$(SPRO_ROOT)/SOS10
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   578
GNU_ROOT=		$(SFW_ROOT)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   579
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   580
# Specify platform compiler versions for languages
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   581
# that we use (currently only c and c++).
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   582
#
224
a34f75a89973 6266620 mi2cv shouldn't #include <note.h>
wesolows
parents: 65
diff changeset
   583
sparc_CC=		$(ONBLD_TOOLS)/bin/$(MACH)/cw -_cc
a34f75a89973 6266620 mi2cv shouldn't #include <note.h>
wesolows
parents: 65
diff changeset
   584
$(__GNUC)sparc_CC=	$(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc
a34f75a89973 6266620 mi2cv shouldn't #include <note.h>
wesolows
parents: 65
diff changeset
   585
sparc_CCC=		$(ONBLD_TOOLS)/bin/$(MACH)/cw -_CC
a34f75a89973 6266620 mi2cv shouldn't #include <note.h>
wesolows
parents: 65
diff changeset
   586
$(__GNUC)sparc_CCC=	$(ONBLD_TOOLS)/bin/$(MACH)/cw -_g++
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   587
sparc_CPP=		/usr/ccs/lib/cpp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   588
sparc_AS=		/usr/ccs/bin/as -xregsym=no
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   589
sparc_LD=		/usr/ccs/bin/ld
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   590
sparc_LINT=		$(SPRO_VROOT)/bin/lint
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   591
224
a34f75a89973 6266620 mi2cv shouldn't #include <note.h>
wesolows
parents: 65
diff changeset
   592
sparcv9_CC=		$(ONBLD_TOOLS)/bin/$(MACH)/cw -_cc
a34f75a89973 6266620 mi2cv shouldn't #include <note.h>
wesolows
parents: 65
diff changeset
   593
$(__GNUC64)sparcv9_CC=	$(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc
a34f75a89973 6266620 mi2cv shouldn't #include <note.h>
wesolows
parents: 65
diff changeset
   594
sparcv9_CCC=		$(ONBLD_TOOLS)/bin/$(MACH)/cw -_CC
a34f75a89973 6266620 mi2cv shouldn't #include <note.h>
wesolows
parents: 65
diff changeset
   595
$(__GNUC64)sparcv9_CCC=	$(ONBLD_TOOLS)/bin/$(MACH)/cw -_g++
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   596
sparcv9_CPP=		/usr/ccs/lib/cpp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   597
sparcv9_AS=		/usr/ccs/bin/as -xregsym=no
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   598
sparcv9_LD=		/usr/ccs/bin/ld
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   599
sparcv9_LINT=		$(SPRO_VROOT)/bin/lint
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   600
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   601
# We compile 32-bit objects with cc by default
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   602
i386_CC=		$(ONBLD_TOOLS)/bin/$(MACH)/cw -_cc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   603
$(__GNUC)i386_CC=	$(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   604
i386_CCC=		$(ONBLD_TOOLS)/bin/$(MACH)/cw -_CC
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   605
$(__GNUC)i386_CCC=	$(ONBLD_TOOLS)/bin/$(MACH)/cw -_g++
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   606
i386_CPP=		/usr/ccs/lib/cpp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   607
i386_AS=		/usr/ccs/bin/as
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   608
$(__GNUC)i386_AS=	$(ONBLD_TOOLS)/bin/$(MACH)/aw
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   609
i386_LD=		/usr/ccs/bin/ld
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   610
i386_LINT=		$(SPRO_VROOT)/bin/lint
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   611
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   612
# We compile 64-bit objects with gcc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   613
amd64_CC=		$(ONBLD_TOOLS)/bin/$(MACH)/cw -_cc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   614
$(__GNUC64)amd64_CC=	$(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   615
amd64_CCC=		$(ONBLD_TOOLS)/bin/$(MACH)/cw -_CC
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   616
$(__GNUC64)amd64_CCC=	$(ONBLD_TOOLS)/bin/$(MACH)/cw -_g++
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   617
amd64_CPP=		/usr/ccs/lib/cpp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   618
amd64_AS=		$(ONBLD_TOOLS)/bin/$(MACH)/aw
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   619
amd64_LD=		/usr/ccs/bin/ld
499
3fe4d3ff5864 6316914 changes in ON needed for Vulcan (SunStudio 10) compiler switch
petede
parents: 411
diff changeset
   620
amd64_LINT=		$(SPRO_VROOT)/bin/lint
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   621
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   622
NATIVECC=		$($(NATIVE_MACH)_CC)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   623
NATIVECCC=		$($(NATIVE_MACH)_CCC)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   624
NATIVECPP=		$($(NATIVE_MACH)_CPP)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   625
NATIVEAS=		$($(NATIVE_MACH)_AS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   626
NATIVELD=		$($(NATIVE_MACH)_LD)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   627
NATIVELINT=		$($(NATIVE_MACH)_LINT)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   628
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   629
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   630
# Makefile.master.64 overrides these settings
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   631
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   632
CC=			$(NATIVECC)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   633
CCC=			$(NATIVECCC)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   634
CPP=			$(NATIVECPP)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   635
AS=			$(NATIVEAS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   636
LD=			$(NATIVELD)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   637
LINT=			$(NATIVELINT)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   638
580
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   639
# The real compilers used for this build
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   640
CW_CC_CMD=		$(CC) -_compiler
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   641
CW_CCC_CMD=		$(CCC) -_compiler
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   642
REAL_CC=		$(CW_CC_CMD:sh)
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   643
REAL_CCC=		$(CW_CCC_CMD:sh)
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   644
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   645
# Pass -Y flag to cpp (method of which is release-dependent)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   646
CCYFLAG=		-Y I,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   647
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   648
BDIRECT=	-Bdirect
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   649
BDYNAMIC=	-Bdynamic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   650
BLOCAL=		-Blocal
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   651
BREDUCE=	-Breduce
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   652
BSTATIC=	-Bstatic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   653
BSYMBOLIC=	-Bsymbolic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   654
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   655
ZCOMBRELOC=	-zcombreloc
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   656
ZDEFS=		-zdefs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   657
ZIGNORE=	-zignore
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   658
ZINITFIRST=	-zinitfirst
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   659
ZINTERPOSE=	-zinterpose
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   660
ZLAZYLOAD=	-zlazyload
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   661
ZLOADFLTR=	-zloadfltr
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   662
ZMULDEFS=	-zmuldefs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   663
ZNODEFAULTLIB=	-znodefaultlib
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   664
ZNODEFS=	-znodefs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   665
ZNODELETE=	-znodelete
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   666
ZNODLOPEN=	-znodlopen
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   667
ZNODUMP=	-znodump
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   668
ZNOLAZYLOAD=	-znolazyload
580
70dfd36fd02c 6237094 perl build should honor $(CC)
wesolows
parents: 524
diff changeset
   669
ZNORELOC=	-znoreloc
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   670
ZNOVERSION=	-znoversion
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   671
ZREDLOCSYM=	-zredlocsym
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   672
ZTEXT=		-ztext
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   673
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   674
GSHARED=	-G
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   675
CCMT=		-mt
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   676
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   677
# Handle different PIC models on different ISAs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   678
# (May be overridden by lower-level Makefiles)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   679
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   680
sparc_C_PICFLAGS =	-K pic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   681
sparcv9_C_PICFLAGS =	-K pic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   682
i386_C_PICFLAGS =	-K pic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   683
amd64_C_PICFLAGS =	-K pic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   684
C_PICFLAGS =		$($(MACH)_C_PICFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   685
C_PICFLAGS64 =		$($(MACH64)_C_PICFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   686
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   687
sparc_C_BIGPICFLAGS =	-K PIC
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   688
sparcv9_C_BIGPICFLAGS =	-K PIC
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   689
i386_C_BIGPICFLAGS =	-K PIC
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   690
amd64_C_BIGPICFLAGS =	-K PIC
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   691
C_BIGPICFLAGS =		$($(MACH)_C_BIGPICFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   692
C_BIGPICFLAGS64 =	$($(MACH64)_C_BIGPICFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   693
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   694
# CC requires there to be no space between '-K' and 'pic' or 'PIC'.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   695
sparc_CC_PICFLAGS =	-Kpic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   696
sparcv9_CC_PICFLAGS =	-KPIC
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   697
i386_CC_PICFLAGS = 	-Kpic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   698
amd64_CC_PICFLAGS = 	-Kpic
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   699
CC_PICFLAGS =		$($(MACH)_CC_PICFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   700
CC_PICFLAGS64 =		$($(MACH64)_CC_PICFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   701
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   702
AS_PICFLAGS=		$(C_PICFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   703
AS_BIGPICFLAGS=		$(C_BIGPICFLAGS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   704
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   705
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   706
# Default label for CTF sections
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   707
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   708
CTFCVTFLAGS=		-i -L VERSION
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   709
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   710
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   711
# Override to pass module-specific flags to ctfmerge.  Currently used
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   712
# only by krtld to turn on fuzzy matching.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   713
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   714
CTFMRGFLAGS=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   715
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   716
CTFCONVERT_O		= $(CTFCONVERT) $(CTFCVTFLAGS) $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   717
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   718
ELFSIGN_O=	$(TRUE)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   719
ELFSIGN_CRYPTO=	$(ELFSIGN_O)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   720
ELFSIGN_OBJECT=	$(ELFSIGN_O)
1167
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   721
$(EXPORT_RELEASE_BUILD)ELFSIGN_O =	$(ELFSIGN)
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   722
$(EXPORT_RELEASE_BUILD)ELFSIGN_KEY =	\
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   723
			$(CLOSED)/cmd/cmd-crypto/etc/keys/SUNWosnet
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   724
$(EXPORT_RELEASE_BUILD)ELFSIGN_CERT=	\
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   725
			$(CLOSED)/cmd/cmd-crypto/etc/certs/SUNWosnet
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   726
$(EXPORT_RELEASE_BUILD)ELFSIGN_SEKEY =	\
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   727
			$(CLOSED)/cmd/cmd-crypto/etc/keys/SUNWosnetSolaris
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   728
$(EXPORT_RELEASE_BUILD)ELFSIGN_SECERT=	\
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   729
			$(CLOSED)/cmd/cmd-crypto/etc/certs/SUNWosnetSolaris
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   730
$(EXPORT_RELEASE_BUILD)ELFSIGN_CRYPTO=	$(ELFSIGN_O) sign \
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   731
			$(ELFSIGN_FORMAT_OPTION) \
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   732
			-k $(ELFSIGN_KEY) -c $(ELFSIGN_CERT) -e $@
1167
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   733
$(EXPORT_RELEASE_BUILD)ELFSIGN_OBJECT=	$(ELFSIGN_O) sign \
9608ad751c4d 6289535 build_cscope complains a bit on x86
kupfer
parents: 580
diff changeset
   734
			$(ELFSIGN_FORMAT_OPTION) \
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   735
			-k $(ELFSIGN_SEKEY) -c $(ELFSIGN_SECERT) -e $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   736
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   737
# Rules (normally from make.rules) and macros which are used for post
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   738
# processing files. Normally, these do stripping of the comment section
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   739
# automatically.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   740
#    RELEASE_CM:	Should be editted to reflect the release.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   741
#    POST_PROCESS_O:	Post-processing for `.o' files.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   742
#    POST_PROCESS_A:	Post-processing for `.a' files (currently null).
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   743
#    POST_PROCESS_SO:	Post-processing for `.so' files.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   744
#    POST_PROCESS:	Post-processing for executable files (no suffix).
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   745
# Note that these macros are not completely generalized as they are to be
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   746
# used with the file name to be processed following.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   747
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   748
# It is left as an exercise to Release Engineering to embellish the generation
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   749
# of the release comment string.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   750
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   751
#	If this is a standard development build:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   752
#		compress the comment section (mcs -c)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   753
#		add the standard comment (mcs -a $(RELEASE_CM))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   754
#		add the development specific comment (mcs -a $(DEV_CM))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   755
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   756
#	If this is an installation build:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   757
#		delete the comment section (mcs -d)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   758
#		add the standard comment (mcs -a $(RELEASE_CM))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   759
#		add the development specific comment (mcs -a $(DEV_CM))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   760
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   761
#	If this is an release build:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   762
#		delete the comment section (mcs -d)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   763
#		add the standard comment (mcs -a $(RELEASE_CM))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   764
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   765
#	The ONVERS macro sets the default value for the VERSION string
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   766
#	within pkginfo.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   767
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   768
# The following list of macros are used in the definition of RELEASE_CM
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   769
# which is used to label all binaries in the build:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   770
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   771
# 	RELEASE		Specific release of the build, eg: 5.2
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   772
#	VERSION		Version of the build (alpha, beta, Generic)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   773
#	PATCHID		If this is a patch this value should contain
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   774
#			the patchid value (eg: "Generic 100832-01"), otherwise
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   775
#			it will be set to $(VERSION)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   776
#	RELEASE_DATE	Date of the Release Build
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   777
#	PATCH_DATE	Date the patch was created, if this is blank it
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   778
#			will default to the RELEASE_DATE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   779
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   780
ONVERS=		"11.11"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   781
RELEASE=	5.11
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   782
VERSION=	SunOS Development
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   783
PATCHID=	$(VERSION)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   784
RELEASE_DATE=	October 2007
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   785
PATCH_DATE=	$(RELEASE_DATE)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   786
RELEASE_CM=	"@($(POUND_SIGN))SunOS $(RELEASE) $(PATCHID) $(PATCH_DATE)"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   787
DEV_CM=		"@($(POUND_SIGN))SunOS Internal Development: \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   788
`$(ECHO) $$LOGNAME` `date +%Y-%m-%d` `$(ECHO) [\`basename $$CODEMGR_WS\`]`"
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   789
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   790
PROCESS_COMMENT=		   @?${MCS} -c -a $(RELEASE_CM) -a $(DEV_CM)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   791
$(STRIP_COMMENTS)PROCESS_COMMENT=  @?${MCS} -d -a $(RELEASE_CM) -a $(DEV_CM)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   792
$(RELEASE_BUILD)PROCESS_COMMENT=   @?${MCS} -d -a $(RELEASE_CM)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   793
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   794
STRIP_STABS=			   :
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   795
$(RELEASE_BUILD)STRIP_STABS=	   $(STRIP) -x $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   796
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   797
POST_PROCESS_O=		$(PROCESS_COMMENT) $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   798
POST_PROCESS_A=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   799
POST_PROCESS_SO=	$(PROCESS_COMMENT) $@ ; $(STRIP_STABS) ; \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   800
			$(ELFSIGN_OBJECT)
524
259d2acc2f55 5072038 binaries shouldn't be stripped
rie
parents: 499
diff changeset
   801
POST_PROCESS=		$(PROCESS_COMMENT) $@ ; $(STRIP_STABS) ; \
259d2acc2f55 5072038 binaries shouldn't be stripped
rie
parents: 499
diff changeset
   802
			$(ELFSIGN_OBJECT)
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   803
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   804
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   805
# The PKGDEFS macro points to the source directory containing the majority
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   806
# of ON's package definitions plus Makefiles with general package creation
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   807
# rules.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   808
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   809
# PKGARCHIVE specifies the default location where packages should be
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   810
# placed if built.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   811
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   812
PKGDEFS=$(SRC)/pkgdefs
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   813
$(RELEASE_BUILD)PKGARCHIVESUFFIX=	-nd
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   814
PKGARCHIVE=$(SRC)/../../packages/$(MACH)/nightly$(PKGARCHIVESUFFIX)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   815
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   816
#	Default build rules which perform comment section post-processing.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   817
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   818
.c:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   819
	$(LINK.c) -o $@ $< $(LDLIBS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   820
	$(POST_PROCESS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   821
.c.o:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   822
	$(COMPILE.c) $(OUTPUT_OPTION) $< $(CTFCONVERT_HOOK)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   823
	$(POST_PROCESS_O)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   824
.c.a:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   825
	$(COMPILE.c) -o $% $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   826
	$(PROCESS_COMMENT) $%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   827
	$(AR) $(ARFLAGS) $@ $%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   828
	$(RM) $%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   829
.s.o:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   830
	$(COMPILE.s) -o $@ $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   831
	$(POST_PROCESS_O)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   832
.s.a:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   833
	$(COMPILE.s) -o $% $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   834
	$(PROCESS_COMMENT) $%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   835
	$(AR) $(ARFLAGS) $@ $%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   836
	$(RM) $%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   837
.cc:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   838
	$(LINK.cc) -o $@ $< $(LDLIBS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   839
	$(POST_PROCESS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   840
.cc.o:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   841
	$(COMPILE.cc) $(OUTPUT_OPTION) $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   842
	$(POST_PROCESS_O)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   843
.cc.a:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   844
	$(COMPILE.cc) -o $% $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   845
	$(AR) $(ARFLAGS) $@ $%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   846
	$(PROCESS_COMMENT) $%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   847
	$(RM) $%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   848
.y:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   849
	$(YACC.y) $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   850
	$(LINK.c) -o $@ y.tab.c $(LDLIBS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   851
	$(POST_PROCESS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   852
	$(RM) y.tab.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   853
.y.o:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   854
	$(YACC.y) $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   855
	$(COMPILE.c) -o $@ y.tab.c $(CTFCONVERT_HOOK)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   856
	$(POST_PROCESS_O)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   857
	$(RM) y.tab.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   858
.l:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   859
	$(RM) $*.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   860
	$(LEX.l) $< > $*.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   861
	$(LINK.c) -o $@ $*.c -ll $(LDLIBS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   862
	$(POST_PROCESS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   863
	$(RM) $*.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   864
.l.o:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   865
	$(RM) $*.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   866
	$(LEX.l) $< > $*.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   867
	$(COMPILE.c) -o $@ $*.c $(CTFCONVERT_HOOK)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   868
	$(POST_PROCESS_O)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   869
	$(RM) $*.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   870
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   871
.java.class:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   872
	$(COMPILE.java) $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   873
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   874
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   875
# Rules to create message catalogue files from .sh, .c, .y, and .l files.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   876
# For .sh files, we extract all gettext strings with sed(1) (being careful
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   877
# to permit multiple gettext strings on the same line), weed out the dups,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   878
# and build the catalogue with awk(1).
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   879
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   880
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   881
.sh.po:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   882
	$(SED) -n -e ":a" 					\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   883
		  -e "h" 					\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   884
		  -e "s/.*gettext *\(\"[^\"]*\"\).*/\1/p"	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   885
		  -e "x"					\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   886
		  -e "s/\(.*\)gettext *\"[^\"]*\"\(.*\)/\1\2/"	\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   887
		  -e "t a"					\
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   888
	       $< | sort -u | awk '{ print "msgid\t" $$0 "\nmsgstr" }' > $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   889
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   890
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   891
# When using xgettext, we want messages to go to the default domain,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   892
# rather than the specified one.  This special version of the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   893
# COMPILE.cpp macro effectively prevents expansion of TEXT_DOMAIN,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   894
# causing xgettext to put all messages into the default domain.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   895
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   896
CPPFORPO=$(COMPILE.cpp:\"$(TEXT_DOMAIN)\"=TEXT_DOMAIN)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   897
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   898
.c.i:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   899
	$(CPPFORPO) $< > $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   900
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   901
.h.i:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   902
	$(CPPFORPO) $< > $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   903
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   904
.y.i:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   905
	$(YACC) -d $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   906
	$(CPPFORPO) y.tab.c  > $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   907
	$(RM) y.tab.c 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   908
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   909
.l.i:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   910
	$(LEX) $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   911
	$(CPPFORPO) lex.yy.c  > $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   912
	$(RM) lex.yy.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   913
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   914
.c.po:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   915
	$(CPPFORPO) $< > $<.i
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   916
	$(BUILD.po)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   917
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   918
.y.po:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   919
	$(YACC) -d $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   920
	$(CPPFORPO) y.tab.c  > $<.i
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   921
	$(BUILD.po)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   922
	$(RM) y.tab.c 
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   923
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   924
.l.po:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   925
	$(LEX) $<
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   926
	$(CPPFORPO) lex.yy.c  > $<.i
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   927
	$(BUILD.po)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   928
	$(RM) lex.yy.c
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   929
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   930
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   931
# Rules to perform stylistic checks
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   932
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   933
.SUFFIXES: $(SUFFIXES) .x .xml .check .xmlchk
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   934
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   935
.h.check:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   936
	$(DOT_H_CHECK)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   937
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   938
.x.check:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   939
	$(DOT_X_CHECK)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   940
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   941
.xml.xmlchk:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   942
	$(MANIFEST_CHECK)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   943
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   944
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   945
# Rules to process ONC+ Source partial files
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   946
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   947
%_onc_plus:	%
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   948
	@$(ECHO) "extracting code from $< ... "
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   949
	sed -n -e '/ONC_PLUS EXTRACT START/,/ONC_PLUS EXTRACT END/p' $<  > $@