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
27PROG=		elfdump
28
29include		$(SRC)/cmd/Makefile.cmd
30include		$(SRC)/cmd/sgs/Makefile.com
31
32COMOBJ =	main.o			corenote.o \
33		dwarf.o			struct_layout.o \
34		struct_layout_i386.o 	struct_layout_amd64.o \
35 		struct_layout_sparc.o 	struct_layout_sparcv9.o
36
37COMOBJ32 =	elfdump32.o fake_shdr32.o
38
39COMOBJ64 =	elfdump64.o fake_shdr64.o
40
41TOOLOBJ =	leb128.o
42
43BLTOBJ =	msg.o
44
45OBJS=		$(BLTOBJ) $(COMOBJ) $(COMOBJ32) $(COMOBJ64) $(TOOLOBJ)
46
47MAPFILE=	$(MAPFILE.NGB)
48MAPOPT=		$(MAPFILE:%=-M%)
49
50CPPFLAGS=	-I. -I../common -I../../include -I../../include/$(MACH) \
51		-I$(SRCBASE)/lib/libc/inc -I$(SRCBASE)/uts/$(ARCH)/sys \
52		$(CPPFLAGS.master) -I$(ELFCAP)
53LLDFLAGS =	$(VAR_ELFDUMP_LLDFLAGS)
54LLDFLAGS64 =	$(VAR_LD_LLDFLAGS64)
55LDFLAGS +=	$(VERSREF) $(CC_USE_PROTO) $(MAPOPT) $(LLDFLAGS)
56LDLIBS +=	$(ELFLIBDIR) -lelf $(LDDBGLIBDIR) $(LDDBG_LIB) \
57		    $(CONVLIBDIR) $(CONV_LIB)
58
59LINTFLAGS +=	-x
60LINTFLAGS64 +=	-x
61
62BLTDEFS =	msg.h
63BLTDATA =	msg.c
64BLTMESG =	$(SGSMSGDIR)/elfdump
65
66BLTFILES =	$(BLTDEFS) $(BLTDATA) $(BLTMESG)
67
68SGSMSGCOM =	../common/elfdump.msg
69SGSMSGTARG =	$(SGSMSGCOM)
70SGSMSGALL =	$(SGSMSGCOM)
71SGSMSGFLAGS +=	-h $(BLTDEFS) -d $(BLTDATA) -m $(BLTMESG) -n elfdump_msg
72
73SRCS =		$(COMOBJ:%.o=../common/%.c) \
74		$(COMOBJ32:%32.o=../common/%.c) \
75		$(TOOLOBJ:%.o=../../tools/common/%.c) $(BLTDATA)
76LINTSRCS =	$(SRCS) ../common/lintsup.c
77
78CLEANFILES +=	$(LINTOUTS) $(BLTFILES) gen_struct_layout
79