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) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
  24 # Copyright 2019 OmniOS Community Edition (OmniOSce) Association.
  25 #
  26 
  27 # Object lists are organized into primary (most frequently used code) and
  28 # secondary lists (less frequently used code, ie. a.out support).
  29 
  30 P_COMOBJS=      debugdata.o \
  31                 analyze.o       elf.o           external.o      globals.o \
  32                 malloc.o        paths.o         setup.o         util.o \
  33                 dlfcns.o        config_elf.o    locale.o        tsort.o \
  34                 remove.o        move.o          tls.o           cap.o
  35 
  36 S_COMOBJS=      debug.o         audit.o         object.o
  37 
  38 G_MACHOBJS=     doreloc.o
  39 
  40 P_MACHOBJS=     sparc_elf.o     _setup.o
  41 
  42 CP_MACHOBJS=    common_sparc.o
  43 
  44 S_MACHOBJS=
  45 
  46 P_ASOBJS=       boot.o          boot_elf.o      caller.o
  47 
  48 S_ASOBJS=
  49 
  50 CRTSRCS=        ../../../../lib/crt/sparc
  51 CRTI=           pics/crti.o
  52 CRTN=           pics/crtn.o
  53 CRTS=           $(CRTI)         $(CRTN)
  54 
  55 CHKSRCS=        $(SRCBASE)/uts/common/krtld/reloc.h
  56 
  57 BASEPLAT =      sparc
  58 
  59 include         $(SRC)/Makefile.master
  60 
  61 # We build sparc objects with cc by default
  62 MAPFILE-ORDER =         ../common/mapfile-order-devpro
  63 $(__GNUC64)MAPFILE-ORDER =      ../common/mapfile-order-gcc
  64 
  65 include         $(SRC)/cmd/sgs/rtld/Makefile.com
  66 include         $(SRC)/lib/Makefile.lib.64
  67 
  68 # Add any machine specific flags.
  69 
  70 CPPFLAGS +=     -I../../../../uts/sparc/krtld
  71 CFLAGS +=       -xregs=no%appl
  72 ASFLAGS +=      -s $(AS_PICFLAGS) -D__sparcv9 -D_ELF64 $(sparcv9_XARCH)
  73 ADBGENFLAGS +=  -mlp64
  74 ADBGENCFLAGS += -erroff=%all
  75 ADBSUB=         $(ADBSUB64)
  76 CPPFLAGS +=     -D_ELF64
  77 SONAME=         /lib/sparcv9/ld.so.1
  78 
  79 SGSMSGTARG +=   $(SGSMSGSPARC) $(SGSMSGSPARC64) $(SGSMSG64)
  80 
  81 LDLIB =         -L ../../libld/$(MACH64)
  82 RTLDLIB =       -L ../../librtld/$(MACH64)
  83 
  84 CPICLIB =       $(CPICLIB64)
  85 LDDBGLIBDIR =   $(LDDBGLIBDIR64)
  86 CONVLIBDIR =    $(CONVLIBDIR64)
  87 
  88 
  89 .KEEP_STATE:
  90 
  91 all:            $(RTLD)
  92 
  93 install:        all $(ROOTDYNLIB64)
  94 
  95 adbmacros:      adb .WAIT $(ADBSCRIPTS)
  96 
  97 adbinstall:     adbmacros .WAIT $(ROOTADB64)
  98 
  99 pics/%.o:       ../sparc/%.c
 100                 $(COMPILE.c) -o $@ $<
 101                 $(POST_PROCESS_O)
 102 
 103 include         $(SRC)/cmd/sgs/rtld/Makefile.targ
 104 include         ../../Makefile.sub.64