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) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
  24 # Copyright 2019 OmniOS Community Edition (OmniOSce) Association.
  25 #
  26 
  27 include         ../../../../lib/Makefile.lib
  28 include         ../../Makefile.com
  29 
  30 NO_ASM_WARN=    -erroff=E_ASM_DISABLES_OPTIMIZATION
  31 
  32 TRUSSLIB=       truss.so.1
  33 TRUSSSRC=       truss.c
  34 
  35 SYMBINDREP=     symbindrep.so.1
  36 SYMBINDREPSRC=  symbindrep.c
  37 
  38 PERFLIB=        perfcnt.so.1
  39 PERFSRC=        perfcnt.c hash.c
  40 
  41 WHOLIB=         who.so.1
  42 WHOSRC=         who.c
  43 
  44 BINDLIB=        bindings.so.1
  45 BINDSRC=        bindings.c
  46 
  47 ONSCRIPTS=      perfcnt symbindrep
  48 ONPROGS=        dumpbind
  49 ONLIBS=         $(SYMBINDREP) $(PERFLIB) $(BINDLIB)
  50 
  51 USRSCRIPTS=     sotruss whocalls
  52 CCSLIBS=        $(TRUSSLIB) $(WHOLIB)
  53 
  54 PICDIR=         pics
  55 OBJDIR=         objs
  56 
  57 TRUSSPICS=      $(TRUSSSRC:%.c=$(PICDIR)/%.o) $(PICDIR)/env.o
  58 PERFPICS=       $(PERFSRC:%.c=$(PICDIR)/%.o) $(PICDIR)/env.o
  59 WHOPICS=        $(WHOSRC:%.c=$(PICDIR)/%.o) $(PICDIR)/env.o
  60 SYMBINDREPPICS= $(SYMBINDREPSRC:%.c=$(PICDIR)/%.o) $(PICDIR)/env.o
  61 BINDPICS=       $(BINDSRC:%.c=$(PICDIR)/%.o) $(PICDIR)/env.o
  62 
  63 $(WHOPICS):=    SEMANTICCHK=
  64 
  65 LDLIBS +=       $(CONVLIBDIR) -lconv
  66 
  67 $(TRUSSLIB):=   PICS = $(TRUSSPICS)
  68 $(PERFLIB):=    PICS = $(PERFPICS)
  69 $(WHOLIB):=     PICS = $(WHOPICS)
  70 $(SYMBINDREP):= PICS = $(SYMBINDREPPICS)
  71 $(BINDLIB):=    PICS = $(BINDPICS)
  72 
  73 $(TRUSSLIB):=   LDLIBS += $(ZRECORD) -lmapmalloc -lc
  74 $(PERFLIB):=    LDLIBS += $(ZRECORD) -lmapmalloc -lc
  75 $(WHOLIB):=     LDLIBS += $(ELFLIBDIR) -lelf $(ZRECORD) -lmapmalloc $(DLLIB) -lc
  76 $(SYMBINDREP):= LDLIBS += $(ZRECORD) -lmapmalloc -lc
  77 $(BINDLIB):=    LDLIBS += $(ZRECORD) -lmapmalloc -lc
  78 
  79 $(TRUSSLIB):=   SONAME = $(TRUSSLIB)
  80 $(PERFLIB):=    SONAME = $(PERFLIB)
  81 $(WHOLIB):=     SONAME = $(WHOLIB)
  82 $(SYMBINDREP):= SONAME = $(SYMBINDREP)
  83 $(BINDLIB):=    SONAME = $(BINDLIB)
  84 
  85 $(TRUSSLIB):=   MAPFILES = ../common/mapfile-vers-truss
  86 $(PERFLIB):=    MAPFILES = ../common/mapfile-vers-perfcnt
  87 $(WHOLIB):=     MAPFILES = ../common/mapfile-vers-who
  88 $(SYMBINDREP):= MAPFILES = ../common/mapfile-vers-symbindrep
  89 $(BINDLIB):=    MAPFILES = ../common/mapfile-vers-bindings
  90 
  91 $(ROOTCCSLIB) :=        DIRMODE =       755
  92 
  93 CPPFLAGS +=     -D_REENTRANT
  94 DYNFLAGS +=     $(VERSREF)
  95 
  96 CLEANFILES +=   $(OBJDIR)/* $(PICDIR)/*
  97 CLOBBERFILES += $(ONSCRIPTS) $(ONPROGS) $(ONLIBS) $(CCSLIBS) $(USRSCRIPTS)
  98 
  99 ROOTONLDLIB=            $(ROOT)/opt/SUNWonld/lib
 100 ROOTONLDLIBS=           $(ONLIBS:%=$(ROOTONLDLIB)/%)
 101 ROOTONLDLIB64=          $(ROOTONLDLIB)/$(MACH64)
 102 ROOTONLDLIBS64=         $(ONLIBS:%=$(ROOTONLDLIB64)/%)
 103 
 104 ROOTONLDBIN=            $(ROOT)/opt/SUNWonld/bin
 105 ROOTONLDBINPROG=        $(ONSCRIPTS:%=$(ROOTONLDBIN)/%) \
 106                         $(ONPROGS:%=$(ROOTONLDBIN)/%)
 107 
 108 ROOTCCSLIB=             $(ROOT)/usr/lib/link_audit
 109 ROOTCCSLIB64=           $(ROOT)/usr/lib/link_audit/$(MACH64)
 110 ROOTCCSLIBS=            $(CCSLIBS:%=$(ROOTCCSLIB)/%)
 111 ROOTCCSLIBS64=          $(CCSLIBS:%=$(ROOTCCSLIB64)/%)
 112 
 113 ROOTUSRBIN=             $(ROOT)/usr/bin
 114 ROOTUSRBINS=            $(USRSCRIPTS:%=$(ROOTUSRBIN)/%)
 115 
 116 FILEMODE=       0755
 117 
 118 .PARALLEL:      $(LIBS) $(PROGS) $(SCRIPTS) $(TRUSSPICS) $(PERFPICS) \
 119                 $(WHOPICS) $(SYMBINDREPPICS) $(BINDPICS)