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 # Copyright 2019 OmniOS Community Edition (OmniOSce) Association.
  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 #
  53 
  54 VAR_PLAT_sparc=         sparc
  55 VAR_PLAT_i386=          intel/ia32
  56 VAR_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 #
  72 VAR_AVLDIR=             $(SRCBASE)/common/avl
  73 VAR_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 #
  81 VAR_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 #
  92 VAR_SGSBIN=             $(ROOTBIN)
  93 VAR_SGSBINPROG=         $(ROOTPROG)
  94 VAR_SGSBIN64=           $(ROOTBIN64)
  95 VAR_SGSBINPROG64=       $(ROOTPROG64)
  96 
  97 VAR_SGSCCSLINK=         $(ROOTCCSBINLINK)
  98 VAR_SGSCCSLINK64=       $(ROOTCCSBINLINK64)
  99 
 100 #
 101 # ld
 102 #
 103 VAR_LD_LLDFLAGS=        '-R$$ORIGIN/../../lib'
 104 VAR_LD_LLDFLAGS64 =     '-R$$ORIGIN/../../../lib/$(MACH64)'
 105 
 106 #
 107 # elfdump
 108 #
 109 VAR_ELFDUMP_LLDFLAGS=   '-R$$ORIGIN/../../lib'
 110 VAR_ELFDUMP_LLDFLAGS64 ='-R$$ORIGIN/../../../lib/$(MACH64)'
 111 
 112 #
 113 # elfedit
 114 #
 115 VAR_ELFEDIT_LLDFLAGS=   '-R$$ORIGIN/../../lib'
 116 VAR_ELFEDIT_LLDFLAGS64 ='-R$$ORIGIN/../../../lib/$(MACH64)'
 117 
 118 #
 119 # lddstub
 120 #
 121 VAR_LDDSTUB_INTERP=     -I'$$ORIGIN/ld.so.1'
 122 
 123 #
 124 # libld
 125 #
 126 VAR_LIBLD_CPPFLAGS=             $(VAR_AVLINCDIR)
 127 VAR_LIBLD_64_ROOTFS_LIBDIR=     $(ROOT)/lib/$(MACH64)
 128 
 129 #
 130 # Tools
 131 #
 132 VAR_TOOLS_CPPFLAGS=             $(VAR_AVLINCDIR)
 133 
 134 #
 135 # liblddbg
 136 #
 137 VAR_LIBLDDBG_64_ROOTFS_LIBDIR=  $(ROOT)/lib/$(MACH64)
 138 
 139 #
 140 # rtld
 141 #
 142 VAR_RTLD_CPICLIB=       -L ../../../../lib/libc/$(MACH)
 143 VAR_RTLD_CPICLIB64=     -L ../../../../lib/libc/$(MACH64)