10921 mdb_nicenum() needs smatch fix
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 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
23 # Use is subject to license terms.
24 #
25
26 #
27 # Copyright 2011 Nexenta Systems, Inc. All rights reserved.
28 # Copyright (c) 2012 by Delphix. All rights reserved.
29 # Copyright 2019 Joyent, Inc.
30 # Copyright 2018 Jason King
31 #
32
33 .KEEP_STATE:
34 .SUFFIXES:
35
36 SRCS += \
37 ffs.c \
38 mdb.c \
39 mdb_addrvec.c \
40 mdb_argvec.c \
41 mdb_callb.c \
42 mdb_cmdbuf.c \
43 mdb_cmds.c \
44 mdb_conf.c \
45 mdb_context.c \
46 mdb_create.c \
47 mdb_ctf.c \
48 mdb_ctf_open.c \
49 mdb_debug.c \
50 mdb_demangle.c \
51 mdb_disasm.c \
52 mdb_dump.c \
53 mdb_err.c \
54 mdb_evset.c \
55 mdb_fdio.c \
56 mdb_fmt.c \
57 mdb_frame.c \
58 mdb_gelf.c \
59 mdb_help.c \
60 mdb_io.c \
61 mdb_kb_kvm.c \
62 mdb_kproc.c \
63 mdb_kvm.c \
64 mdb_logio.c \
65 mdb_list.c \
66 mdb_macalias.c \
67 mdb_main.c \
68 mdb_memio.c \
69 mdb_modapi.c \
70 mdb_module.c \
71 mdb_module_load.c \
72 mdb_nm.c \
73 mdb_nv.c \
74 mdb_pipeio.c \
75 mdb_print.c \
76 mdb_proc.c \
77 mdb_pservice.c \
78 mdb_rawfile.c \
79 mdb_set.c \
80 mdb_shell.c \
81 mdb_signal.c \
82 mdb_stdlib.c \
83 mdb_string.c \
84 mdb_strio.c \
85 mdb_tab.c \
86 mdb_target.c \
87 mdb_tdb.c \
88 mdb_termio.c \
89 mdb_typedef.c \
90 mdb_umem.c \
91 mdb_value.c \
92 mdb_vcb.c \
93 mdb_wcb.c \
94 mdb_whatis.c
95
96 $(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG
97 CPPFLAGS += -D_MDB -I. -I../.. -I../../../common
98
99 CSTD= $(CSTD_GNU99)
100 C99LMODE= -Xc99=%all
101
102 LDLIBS += -lcurses -lkvm -lproc -lrtld_db -lctf -lumem -ldisasm -lscf
103 LDLIBS += -ldemangle-sys
104
105 CERRWARN += -_gcc=-Wno-uninitialized
106 CERRWARN += -_gcc=-Wno-char-subscripts
107 CERRWARN += -_gcc=-Wno-clobbered
108 CERRWARN += -_gcc=-Wno-parentheses
109 CERRWARN += -_gcc=-Wno-unused-label
110 CERRWARN += -_gcc=-Wno-unused-variable
111
112 #
113 # -erroff=E_INCONS_ARG_DECL2 works around a problem where lint gets confused
114 # about how struct mdb_tgt_gregset is used in mdb_tgt_stack_f() and
115 # mdb_tgt_stack_iter_f(). Will be resolved as part of fix for CR 6749868.
116 #
117 LINTFLAGS += -n -errtags=yes -erroff=E_INCONS_ARG_DECL2
118 LINTFILES = $(SRCS:%.c=%.ln)
119
120 PROG = mdb
121 OBJS = $(SRCS:%.c=%.o) mdb_lex.o mdb_grammar.o
122
123 LINK = adb
124 ROOTLINK = $(ROOTBIN)/$(LINK)
125 ROOTLINK32 = $(LINK:%=$(ROOTBIN32)/%)
126 ROOTLINK64 = $(LINK:%=$(ROOTBIN64)/%)
127
128 .NO_PARALLEL:
129 .PARALLEL: $(OBJS) $(LINTFILES)
130
131 all: $(PROG)
132
133 $(PROG): $(OBJS)
134 $(LINK.c) $(OBJS) -o $@ $(LDLIBS)
135 $(CTFMERGE) -L VERSION -o $@ $(OBJS)
136 $(POST_PROCESS)
137
138 $(ROOTLINK32): $(ROOTPROG32)
139 $(RM) $@
140 $(LN) $(ROOTPROG32) $@
141
142 $(ROOTLINK64): $(ROOTPROG64)
143 $(RM) $@
144 $(LN) $(ROOTPROG64) $@
145
146 mdb_lex.c: ../../../common/mdb/mdb_lex.l mdb_grammar.h
147 $(LEX) $(LFLAGS) ../../../common/mdb/mdb_lex.l > $@
148
149 mdb_grammar.h mdb_grammar.c: ../../../common/mdb/mdb_grammar.y
150 $(YACC) $(YFLAGS) ../../../common/mdb/mdb_grammar.y
151 @$(MV) y.tab.h mdb_grammar.h
152 @$(MV) y.tab.c mdb_grammar.c
153
154 mdb_lex.o mdb_grammar.o := CCVERBOSE =
155
156 mdb_conf.o := CPPFLAGS += -DMDB_VERSION='$(MDB_VERSION)'
157
158 inet_ntop.o := CPPFLAGS += -Dsnprintf=mdb_snprintf
159
160 ffs.o ffs.ln := CPPFLAGS += -Dffs=mdb_ffs
161
162 %.o: ../../../common/mdb/%.c
163 $(COMPILE.c) $<
164 $(CTFCONVERT_O)
165
166 %.o: ../../mdb/%.c
167 $(COMPILE.c) $<
168 $(CTFCONVERT_O)
169
170 %.o: %.c
171 $(COMPILE.c) $<
172 $(CTFCONVERT_O)
173
174 %.o: $(SRC)/common/net/util/%.c
175 $(COMPILE.c) $<
176 $(CTFCONVERT_O)
177
178 %.o: $(SRC)/common/util/%.c
179 $(COMPILE.c) $<
180 $(CTFCONVERT_O)
181
182 clean.lint:
183 $(RM) $(LINTFILES)
184
185 clean:
186 $(RM) $(OBJS)
187 $(RM) mdb_lex.c mdb_grammar.c mdb_grammar.h y.tab.h y.tab.c y.output
188
189 clobber: clean clean.lint
190 $(RM) $(PROG)
191
192 %.ln: ../../../common/mdb/%.c
193 $(LINT.c) -c $<
194
195 %.ln: ../../mdb/%.c
196 $(LINT.c) -c $<
197
198 %.ln: %.c
199 $(LINT.c) -c $<
200
201 %.ln: $(SRC)/common/net/util/%.c
202 $(LINT.c) -c $<
203
204 %.ln: $(SRC)/common/util/%.c
205 $(LINT.c) -c $<
206
207 lint: $(LINTFILES)
208 $(LINT) $(LINTFLAGS) $(LINTFILES)
209
210 dmods:
--- EOF ---