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 2010 Sun Microsystems, Inc.  All rights reserved.
  24 # Use is subject to license terms.
  25 #
  26 # Copyright 2019 OmniOS Community Edition (OmniOSce) Association.
  27 #
  28 # Copyright (c) 2019, Joyent, Inc.
  29 #
  30 
  31 # Don't generate separate sections for this module
  32 pics/debugdata.o :=     XFFLAG=
  33 
  34 # Since we use RTLD rather than DYNLIB, we must explicitly hook in ctfmerge.
  35 $(RTLD) :=      CTFMERGE_POST = $(CTFMERGE_LIB)
  36 
  37 pics/%.o:       %.s
  38                 $(BUILD.s)
  39                 $(POST_PROCESS_S_O)
  40 
  41 pics/%.o:       $(CRTSRCS)/%.s
  42                 $(BUILD.s)
  43                 $(POST_PROCESS_S_O)
  44 
  45 pics/%.o:       %.c
  46                 $(COMPILE.c) -o $@ $<
  47                 $(POST_PROCESS_O)
  48 
  49 pics/%.o:       ../common/%.c
  50                 $(COMPILE.c) -o $@ $<
  51                 $(POST_PROCESS_O)
  52 
  53 pics/%.o:       $(VAR_AVLDIR)/%.c
  54                 $(COMPILE.c) -o $@ $<
  55                 $(POST_PROCESS_O)
  56 
  57 pics/%.o:       $(VAR_DTRDIR)/%.c
  58                 $(COMPILE.c) -o $@ $<
  59                 $(POST_PROCESS_O)
  60 
  61 pics/%.o:       $(SGSTOOLS)/common/%.c
  62                 $(COMPILE.c) -o $@ $<
  63                 $(POST_PROCESS_O)
  64 
  65 pics/%.o:       $(SRCBASE)/uts/$(PLAT)/krtld/%.c
  66                 $(COMPILE.c) -o $@ $<
  67                 $(POST_PROCESS_O)
  68 
  69 pics/elfcap.o:  $(ELFCAP)/elfcap.c
  70                 $(COMPILE.c) -o $@ $(ELFCAP)/elfcap.c
  71                 $(POST_PROCESS_O)
  72 
  73 $(RTLD):        pics $(PICS) $(CRTS)
  74                 $(LD_USE_PROTO)ld -o $@ -dy -G $(DYNFLAGS) $(CRTI) $(PICS) \
  75                     $(LDLIBS) $(CRTN)
  76                 $(POST_PROCESS_SO)
  77 
  78 delete:
  79                 -$(RM) $(RTLD)
  80 
  81 $(ROOTFS_LIBDIR)/%:     %
  82                 $(INS.file)
  83 
  84 $(ETCLIBDIR)/%:         %
  85                 $(INS.file)
  86 
  87 include         $(SRC)/lib/Makefile.targ
  88 include         $(SRC)/cmd/sgs/Makefile.targ
  89 
  90 # Derived source and header files (messaging).
  91 
  92 catalog:        $(BLTMESG)
  93 
  94 chkmsg :=       SGSMSGCHK=../common/rtld.chk.msg
  95 
  96 chkmsg:         $(SRCS) $(CHKSRCS)
  97                 sh $(CHKMSG) $(CHKMSGFLAGS) $(SRCS) $(CHKSRCS)
  98 
  99 $(BLTDEFS) + \
 100 $(BLTDATA) :    $(SGSMSGTARG)
 101                 $(SGSMSG) $(SGSMSGFLAGS2) $(SGSMSGTARG)
 102 
 103 $(BLTMESG) :    $(SGSMSGALL)
 104                 $(SGSMSG) $(SGSMSGFLAGS1) $(SGSMSGALL)