xref: /titanic_51/usr/src/cmd/sgs/Makefile.var (revision 68c47f65208790c466e5e484f2293d3baed71c6a)
1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21
22#
23# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26
27# The link-editor related source files and Makefile files have at times been
28# unified across all presently maintained release gates.  However, some of the
29# compiler pre-processor flags and link-editor flags are different among the
30# releases.  This file is used to specify such flags.
31#
32# This file is included by ./Makefile.com, but may also be included directly in
33# the case where the utility is relying on the contents of ../../Makefile.com.
34#
35# This file should be the only file which is different among the presently
36# maintained release workspaces, when the sources are unified.
37#
38# CPPFEATUREMACROS provides for selectively turning on/off features within the
39# various link-editor components.  Presently, none are set.
40#
41# Some source files need to use #ifdef to distinguish between the patch release,
42# and for the packages targeting to the pre-libc/libthread unified environment.
43# These values are available for CPPFLAGS:
44#
45#	SGS_PRE_UNIFIED_PROCESS
46#
47#		is set if the target release is for pre-libc/libthread unified
48#		environment. This is used for rtld and crle.
49
50#
51# Common Macro definitions
52#
53VAR_CPPFLAGS=
54VAR_LINTFLAGS64=	-m64
55
56VAR_PLAT_sparc=		sparc
57VAR_PLAT_i386=		intel/ia32
58VAR_PLAT_amd64=		intel/amd64
59
60VAR_POUND_1=
61VAR_POUND_2=		$(POUND_SIGN)
62
63#
64# VAR_AVLDIR - directory to find avl.c in.
65#
66# The avl.c file is under usr/src/common/avl in Solaris 10 (and later),
67# but in earlier releases it is not present (problem to be solved).
68#
69# The avl.h and avl_impl.h files are under usr/src/uts/common/sys in
70# Solaris 10 (and later). They are under usr/src/cmd/sgs/tools/common/sys
71# in Solaris 9 and earlier.
72#
73# For Solaris 9 and earlier releases, we will have our own copy of the
74# files avl.c, avl.h and avl_impl.h until these files are back ported into
75# the system.
76#
77VAR_AVLDIR=		$(SRCBASE)/common/avl
78VAR_AVLINCDIR=		-I $(SRCBASE)/uts/common
79
80#
81# VAR_DTRDIR - directory to find dtrace_data.c in.
82#
83# In Solaris 10 and earlier releases, dtrace_data.c was maintained as separate
84# files under sgs/rtld.  This file is now under usr/src/common/dtrace.
85#
86VAR_DTRDIR=             $(SRCBASE)/common/dtrace
87
88#
89# VAR_SGSBINPROG
90#
91# For Solaris 10 and earlier releases, the SGS components were installed in
92# /usr/ccs/bin.  These components are now installed in /usr/bin with associated
93# symbolic links for compatibility. For previous behavior, set the VAR_SGSBIN*
94# variables to the appropriate ROOTCCSBIN* rule and set the VAR_SGSCCSLINK*
95# rules to null.
96#
97VAR_SGSBIN=		$(ROOTBIN)
98VAR_SGSBINPROG=		$(ROOTPROG)
99VAR_SGSBIN64=		$(ROOTBIN64)
100VAR_SGSBINPROG64=	$(ROOTPROG64)
101
102VAR_SGSCCSLINK=		$(ROOTCCSBINLINK)
103VAR_SGSCCSLINK64=	$(ROOTCCSBINLINK64)
104
105#
106# ld
107#
108VAR_LD_NATIVE_LLDLIBS=
109VAR_LD_LLDFLAGS=	'-R$$ORIGIN/../../lib'
110VAR_LD_LLDFLAGS64 =	'-R$$ORIGIN/../../../lib/$(MACH64)'
111
112#
113# elfdump
114#
115VAR_ELFDUMP_LLDFLAGS=	'-R$$ORIGIN/../../lib'
116VAR_ELFDUMP_LLDFLAGS64 ='-R$$ORIGIN/../../../lib/$(MACH64)'
117
118#
119# elfedit
120#
121VAR_ELFEDIT_LLDFLAGS=	'-R$$ORIGIN/../../lib'
122VAR_ELFEDIT_LLDFLAGS64 ='-R$$ORIGIN/../../../lib/$(MACH64)'
123
124#
125# lddstub
126#
127VAR_LDDSTUB_INTERP=	-I'$$ORIGIN/ld.so.1'
128
129#
130# libconv
131#
132VAR_LIBCONV_CPPFLAGS=
133
134#
135# libelf
136#
137VAR_LIBELF_LDLIBS=
138VAR_LIBELF_ROOTDEMODIR_DIRMODE=	755
139
140#
141# libld
142#
143VAR_LIBLD_CPPFLAGS=		$(VAR_COM_CPPFLAGS) \
144				$(VAR_AVLINCDIR)
145VAR_LIBLD_64_ROOTFS_LIBDIR=	$(ROOT)/lib/$(MACH64)
146
147#
148# Tools
149#
150VAR_TOOLS_CPPFLAGS=		$(VAR_AVLINCDIR)
151
152#
153# liblddbg
154#
155VAR_LIBLDDBG_V9_ROOTFS_LIBDIR=	$(ROOT)/lib/$(MACH64)
156VAR_LIBLDDBG_CPPFLAGS=-DDEMANGLE
157
158#
159# librtld_db
160#
161VAR_LIBRTLD_DB_RDB_DEMO_LINTFLAGS64=	$(VAR_LINTFLAGS64)
162
163#
164# rtld
165#
166VAR_RTLD_CPICLIB=	-L ../../../../lib/libc/$(MACH)
167VAR_RTLD_CPICLIB64=	-L ../../../../lib/libc/$(MACH64)
168VAR_RTLD_SONAME=	/lib/ld.so.1
169VAR_RTLD_V9_SONAME=	/lib/sparcv9/ld.so.1
170
171VAR_RTLD_ETCDYNLIB=
172VAR_RTLD_CPPFEATUREMACROS=
173VAR_RTLD_CPPFLAGS=	$(VAR_AVLINCDIR)
174VAR_RTLD_EXTRASUBDIRS=	mdbmod
175