summaryrefslogtreecommitdiff
path: root/usr/src/cmd/sgs/link_audit/Makefile.com
blob: b5de5f5be841cd23692158805145964d07a9fffd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#

#
# Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
#

include		../../../../lib/Makefile.lib
include		../../Makefile.com

NO_ASM_WARN=	-erroff=E_ASM_DISABLES_OPTIMIZATION

TRUSSLIB=	truss.so.1
TRUSSSRC=	truss.c

SYMBINDREP=	symbindrep.so.1
SYMBINDREPSRC=	symbindrep.c

PERFLIB=	perfcnt.so.1
PERFSRC=	perfcnt.c hash.c

WHOLIB=		who.so.1
WHOSRC=		who.c

BINDLIB=	bindings.so.1
BINDSRC=	bindings.c

ONSCRIPTS=	perfcnt symbindrep
ONPROGS=	dumpbind
ONLIBS=		$(SYMBINDREP) $(PERFLIB) $(BINDLIB)

USRSCRIPTS=	sotruss whocalls
CCSLIBS=	$(TRUSSLIB) $(WHOLIB)
 
PICDIR=		pics
OBJDIR=		objs

TRUSSPICS=	$(TRUSSSRC:%.c=$(PICDIR)/%.o) $(PICDIR)/env.o
PERFPICS=	$(PERFSRC:%.c=$(PICDIR)/%.o) $(PICDIR)/env.o
WHOPICS=	$(WHOSRC:%.c=$(PICDIR)/%.o) $(PICDIR)/env.o
SYMBINDREPPICS=	$(SYMBINDREPSRC:%.c=$(PICDIR)/%.o) $(PICDIR)/env.o
BINDPICS=	$(BINDSRC:%.c=$(PICDIR)/%.o) $(PICDIR)/env.o

$(WHOPICS):=	SEMANTICCHK=

LDLIBS +=	$(CONVLIBDIR) $(CONV_LIB)

$(TRUSSLIB):=	PICS = $(TRUSSPICS)
$(PERFLIB):=	PICS = $(PERFPICS)
$(WHOLIB):=	PICS = $(WHOPICS)
$(SYMBINDREP):=	PICS = $(SYMBINDREPPICS)
$(BINDLIB):=	PICS = $(BINDPICS)

$(TRUSSLIB):=	LDLIBS += $(ZRECORD) -lmapmalloc -lc
$(PERFLIB):=	LDLIBS += $(ZRECORD) -lmapmalloc -lc
$(WHOLIB):=	LDLIBS += $(ELFLIBDIR) -lelf $(ZRECORD) -lmapmalloc $(DLLIB) -lc
$(SYMBINDREP):=	LDLIBS += $(ZRECORD) -lmapmalloc -lc
$(BINDLIB):=	LDLIBS += $(ZRECORD) -lmapmalloc -lc

$(TRUSSLIB):=	SONAME = $(TRUSSLIB)
$(PERFLIB):=	SONAME = $(PERFLIB)
$(WHOLIB):=	SONAME = $(WHOLIB)
$(SYMBINDREP):=	SONAME = $(SYMBINDREP)
$(BINDLIB):=	SONAME = $(BINDLIB)

$(TRUSSLIB):=	MAPFILES = ../common/mapfile-vers-truss
$(PERFLIB):=	MAPFILES = ../common/mapfile-vers-perfcnt
$(WHOLIB):=	MAPFILES = ../common/mapfile-vers-who
$(SYMBINDREP):=	MAPFILES = ../common/mapfile-vers-symbindrep
$(BINDLIB):=	MAPFILES = ../common/mapfile-vers-bindings

$(ROOTCCSLIB) :=	DIRMODE =	755

CPPFLAGS +=	-D_REENTRANT
LDFLAGS +=	$(CC_USE_PROTO)
DYNFLAGS +=	$(VERSREF)

LINTFLAGS +=	-uaxs $(LDLIBS)
LINTFLAGS64 +=	-uaxs $(LDLIBS)

CLEANFILES +=	$(LINTOUT) $(OBJDIR)/* $(PICDIR)/*
CLOBBERFILES +=	$(ONSCRIPTS) $(ONPROGS) $(ONLIBS) $(CCSLIBS) $(USRSCRIPTS)

ROOTONLDLIB=		$(ROOT)/opt/SUNWonld/lib
ROOTONLDLIBS=		$(ONLIBS:%=$(ROOTONLDLIB)/%)
ROOTONLDLIB64=		$(ROOTONLDLIB)/$(MACH64)
ROOTONLDLIBS64=		$(ONLIBS:%=$(ROOTONLDLIB64)/%)

ROOTONLDBIN=		$(ROOT)/opt/SUNWonld/bin
ROOTONLDBINPROG=	$(ONSCRIPTS:%=$(ROOTONLDBIN)/%) \
			$(ONPROGS:%=$(ROOTONLDBIN)/%)

ROOTCCSLIB=		$(ROOT)/usr/lib/link_audit
ROOTCCSLIB64=		$(ROOT)/usr/lib/link_audit/$(MACH64)
ROOTCCSLIBS=		$(CCSLIBS:%=$(ROOTCCSLIB)/%)
ROOTCCSLIBS64=		$(CCSLIBS:%=$(ROOTCCSLIB64)/%)

ROOTUSRBIN=		$(ROOT)/usr/bin
ROOTUSRBINS=		$(USRSCRIPTS:%=$(ROOTUSRBIN)/%)

FILEMODE=	0755

.PARALLEL:	$(LIBS) $(PROGS) $(SCRIPTS) $(TRUSSPICS) $(PERFPICS) \
		$(WHOPICS) $(SYMBINDREPPICS) $(BINDPICS)