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 (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
24#
25
26# The link-editor related source files and Makefile files have at times been
27# unified across all presently maintained release gates.  However, some of the
28# compiler pre-processor flags and link-editor flags are different among the
29# releases.  This file is used to specify such flags. 
30# 
31# This file is included by ./Makefile.com, but may also be included directly in
32# the case where the utility is relying on the contents of ../../Makefile.com.
33# 
34# This file should be the only file which is different among the presently
35# maintained release workspaces, when the sources are unified.
36#
37# CPPFEATUREMACROS provides for selectively turning on/off features within the
38# various link-editor components.  Presently, none are set.
39#
40# Some source files need to use #ifdef to distinguish between the patch release,
41# and for the packages targeting to the pre-libc/libthread unified environment.
42# These values are available for CPPFLAGS:
43#	
44#	SGS_PRE_UNIFIED_PROCESS
45#
46#		is set if the target release is for pre-libc/libthread unified
47#		environment. This is used for rtld and crle.
48
49#
50# Common Macro definitions
51#
52VAR_LINTFLAGS64=	-m64
53
54VAR_PLAT_sparc=		sparc
55VAR_PLAT_i386=		intel/ia32
56VAR_PLAT_amd64=		intel/amd64
57
58#
59# VAR_AVLDIR - directory to find avl.c in.
60#
61# The avl.c file is under usr/src/common/avl in Solaris 10 (and later),
62# but in earlier releases it is not present (problem to be solved).
63#
64# The avl.h and avl_impl.h files are under usr/src/uts/common/sys in
65# Solaris 10 (and later). They are under usr/src/cmd/sgs/tools/common/sys
66# in Solaris 9 and earlier.
67#
68# For Solaris 9 and earlier releases, we will have our own copy of the
69# files avl.c, avl.h and avl_impl.h until these files are back ported into
70# the system.
71#
72VAR_AVLDIR=		$(SRCBASE)/common/avl
73VAR_AVLINCDIR=		-I $(SRCBASE)/uts/common
74
75#
76# VAR_DTRDIR - directory to find dtrace_data.c in.
77#
78# In Solaris 10 and earlier releases, dtrace_data.c was maintained as separate
79# files under sgs/rtld.  This file is now under usr/src/common/dtrace.
80#
81VAR_DTRDIR=             $(SRCBASE)/common/dtrace
82
83#
84# VAR_SGSBINPROG
85#
86# For Solaris 10 and earlier releases, the SGS components were installed in
87# /usr/ccs/bin.  These components are now installed in /usr/bin with associated
88# symbolic links for compatibility. For previous behavior, set the VAR_SGSBIN*
89# variables to the appropriate ROOTCCSBIN* rule and set the VAR_SGSCCSLINK*
90# rules to null.
91#
92VAR_SGSBIN=		$(ROOTBIN)
93VAR_SGSBINPROG=		$(ROOTPROG)
94VAR_SGSBIN64=		$(ROOTBIN64)
95VAR_SGSBINPROG64=	$(ROOTPROG64)
96
97VAR_SGSCCSLINK=		$(ROOTCCSBINLINK)
98VAR_SGSCCSLINK64=	$(ROOTCCSBINLINK64)
99
100#
101# ld
102#
103VAR_LD_LLDFLAGS=	'-R$$ORIGIN/../../lib'
104VAR_LD_LLDFLAGS64 =	'-R$$ORIGIN/../../../lib/$(MACH64)'
105
106#
107# elfdump
108#
109VAR_ELFDUMP_LLDFLAGS=	'-R$$ORIGIN/../../lib'
110VAR_ELFDUMP_LLDFLAGS64 ='-R$$ORIGIN/../../../lib/$(MACH64)'
111
112#
113# elfedit
114#
115VAR_ELFEDIT_LLDFLAGS=	'-R$$ORIGIN/../../lib'
116VAR_ELFEDIT_LLDFLAGS64 ='-R$$ORIGIN/../../../lib/$(MACH64)'
117
118#
119# lddstub
120#
121VAR_LDDSTUB_INTERP=	-I'$$ORIGIN/ld.so.1'
122
123#
124# libld
125#
126VAR_LIBLD_CPPFLAGS=		$(VAR_AVLINCDIR)
127VAR_LIBLD_64_ROOTFS_LIBDIR=	$(ROOT)/lib/$(MACH64)
128
129#
130# Tools
131#
132VAR_TOOLS_CPPFLAGS=		$(VAR_AVLINCDIR)
133
134#
135# liblddbg
136#
137VAR_LIBLDDBG_64_ROOTFS_LIBDIR=	$(ROOT)/lib/$(MACH64)
138
139#
140# rtld
141#
142VAR_RTLD_CPICLIB=	-L ../../../../lib/libc/$(MACH)
143VAR_RTLD_CPICLIB64=	-L ../../../../lib/libc/$(MACH64)
144