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 2009 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26
27
28all: $(PROG)
29
30%.o: ../../../sparc/mdb/%.c
31	$(COMPILE.c) $<
32	$(CTFCONVERT_O)
33
34%.ln: ../../../sparc/mdb/%.c
35	$(LINT.c) -c $<
36
37kaif.fth: ../../../sparc/v9/kmdb/kaif_regs.h
38
39ROOT_MISC_DIR		= $(ROOT)/platform/sun4v/kernel/misc
40ROOT_MISC_DIR_64	= $(ROOT_MISC_DIR)/$(SUBDIR64)
41
42ROOTMISC		= $(ROOT_MISC_DIR)/$(PROG)
43ROOTMISC64		= $(ROOT_MISC_DIR_64)/$(PROG)
44
45include ../../../../Makefile.cmd
46include ../../../../Makefile.cmd.64
47include ../../../sparc/Makefile.sparcv9
48include ../../../sparc/Makefile.kmdb.64
49include ../../../Makefile.kmdb
50
51STANDLIBS += $(ROOT)/usr/lib/sparcv9/libstanddisasm.so
52
53KMDB_FPTEST = \
54	$(FINDFP) -x kaif_resume -x kaif_trap_common $@
55
56#
57# Uncomment the following line to enable trap accounting.  A DTLB translation
58# will be added for the trap table, and each handler installed by KMDB will use
59# its padding to keep a trap count.  See kaif_handlers.s.
60#
61# NOTE: not currently supported by the sun4v fast miss handlers. See
62# ../../../sparc/v9/kmdb/kaif_handlers.s to verify before use.
63#
64#TRAPCOUNT = -DKMDB_TRAPCOUNT
65
66CPPFLAGS += -I../../../sparc/mdb -I.. -I$(SRC)/uts/sun4 -I$(SRC)/uts/sun4v
67CPPFLAGS += $(TRAPCOUNT)
68CPPFLAGS += -Dsun4v
69CPPFLAGS += -I$(SRC)/cmd/mdb/sparc
70CPPFLAGS += -I$(SRC)/cmd/mdb/sparc/v9 -I$(SRC)/cmd/mdb/sparc/v9/kmdb
71ASFLAGS += -xarch=v9v -I$(SRC)/uts/sun4 -I$(SRC)/uts/sun4v $(TRAPCOUNT)
72ASFLAGS += -Dsun4v
73ASFLAGS += -I$(SRC)/cmd/mdb/sparc
74ASFLAGS += -I$(SRC)/cmd/mdb/sparc/v9 -I$(SRC)/cmd/mdb/sparc/v9/kmdb
75
76install: all $(ROOTMISC64) kaif.fth
77
78#
79# lint rules
80#
81
82.PARALLEL: lintkmdb lintprom lintkctl
83
84lint: lintkmdb lintprom lintkctl
85	$(LINT) $(ALLLINTFLAGS) $(KMDBOBJS:%.o=%.ln) $(PROMOBJS:%.o=%.ln)
86
87lintkmdb: $(KMDBOBJS:%.o=%.ln)
88	$(LINT) $(LINTFLAGS) $(KMDBOBJS:%.o=%.ln)
89
90lintprom: $(PROMOBJS:%.o=%.ln)
91	$(LINT) $(LINTFLAGS) $(PROMOBJS:%.o=%.ln)
92
93lintkctl: $(KCTLOBJS:%.o=%.ln)
94	$(LINT) $(ALLLINTFLAGS) $(KCTLOBJS:%.o=%.ln)
95
96kaif_off.h: ../../../sparc/kmdb/kaif_off.in
97	$(OFFSETS_CREATE) <../../../sparc/kmdb/kaif_off.in >$@
98
99kmdb_context_off.h: ../../../sparc/kmdb/kmdb_context_off.in
100	$(OFFSETS_CREATE) <../../../sparc/kmdb/kmdb_context_off.in >$@
101
102#
103# Dynamic rules for object construction
104#
105%.o: ../../../common/kmdb/%.c
106	$(COMPILE.c) -o $@ $<
107	$(CTFCONVERT_O)
108
109%.o: ../../../common/kmdb/kctl/%.c
110	$(COMPILE.c) -o $@ $<
111	$(CTFCONVERT_O)
112
113%.o: ../../../common/kmdb/kctl/%.s
114	$(COMPILE.s) -o $@ $<
115
116%.o: ../../../common/mdb/%.c
117	$(COMPILE.c) -o $@ $<
118	$(CTFCONVERT_O)
119
120%.o: ../../../sparc/kmdb/%.c
121	$(COMPILE.c) -o $@ $<
122	$(CTFCONVERT_O)
123
124%.o: ../../../sparc/kmdb/%.s
125	$(COMPILE.s) -o $@ $<
126
127%.o: ../../../sparc/kmdb/kctl/%.c
128	$(COMPILE.c) -o $@ $<
129	$(CTFCONVERT_O)
130
131%.o: ../../../sparc/kmdb/kctl/%.s
132	$(COMPILE.s) -o $@ $<
133
134%.o: ../../../sparc/mdb/%.c
135	$(COMPILE.c) -o $@ $<
136	$(CTFCONVERT_O)
137
138%.o: ../../../sparc/v9/kmdb/%.c
139	$(COMPILE.c) -o $@ $<
140	$(CTFCONVERT_O)
141
142%.o: ../../../sparc/v9/kmdb/%.s
143	$(COMPILE.s) -o $@ $<
144
145%.o: ../../../sparc/v9/kmdb/kctl/%.s
146	$(COMPILE.s) -o $@ $<
147
148%.o: $(SRC)/common/net/util/%.c
149	$(COMPILE.c) $<
150	$(CTFCONVERT_O)
151
152%.o: ../../../../../uts/sun4v/ml/%.s
153	$(COMPILE.s) -o $@ $<
154
155#
156# Lint
157#
158
159%.ln: ../../../common/kmdb/%.c
160	$(LINT.c) -c $<
161
162%.ln: ../../../common/kmdb/kctl/%.c
163	$(LINT.c) -c $<
164
165%.ln: ../../../common/kmdb/kctl/%.s
166	$(LINT.s) -c $<
167
168%.ln: ../../../common/mdb/%.c
169	$(LINT.c) -c $<
170
171%.ln: ../../../sparc/kmdb/%.c
172	$(LINT.c) -c $<
173
174%.ln: ../../../sparc/kmdb/%.s
175	$(LINT.s) -c $<
176
177%.ln: ../../../sparc/kmdb/kctl/%.c
178	$(LINT.c) -c $<
179
180%.ln: ../../../sparc/kmdb/kctl/%.s
181	$(LINT.s) -c $<
182
183%.ln: ../../../sparc/mdb/%.c
184	$(LINT.c) -c $<
185
186%.ln: ../../../sparc/v9/kmdb/%.c
187	$(LINT.c) -c $<
188
189%.ln: ../../../sparc/v9/kmdb/%.s
190	$(LINT.s) -c $<
191
192%.ln: ../../../sparc/v9/kmdb/kctl/%.s
193	$(LINT.s) -c $<
194
195%.ln: $(SRC)/common/net/util/%.c
196	$(LINT.c) -c $<
197
198%.ln: ../../../../../uts/sun4v/ml/%.s
199	$(LINT.s) -c $<
200
201#
202# Installation targets
203#
204
205$(ROOT_MISC_DIR) $(ROOT_MISC_DIR_64):
206	-$(INS.dir)
207
208$(ROOT_MISC_DIR)/%: 	% $(ROOT_MISC_DIR)
209	$(INS.file)
210
211$(ROOT_MISC_DIR_64)/%:	% $(ROOT_MISC_DIR_64)
212	$(INS.file)
213