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