17c478bd9Sstevel@tonic-gate# 27c478bd9Sstevel@tonic-gate# CDDL HEADER START 37c478bd9Sstevel@tonic-gate# 47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the 5dc0093f4Seschrock# Common Development and Distribution License (the "License"). 6dc0093f4Seschrock# You may not use this file except in compliance with the License. 77c478bd9Sstevel@tonic-gate# 87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions 117c478bd9Sstevel@tonic-gate# and limitations under the License. 127c478bd9Sstevel@tonic-gate# 137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 187c478bd9Sstevel@tonic-gate# 197c478bd9Sstevel@tonic-gate# CDDL HEADER END 207c478bd9Sstevel@tonic-gate# 217c478bd9Sstevel@tonic-gate# 224a1c2431SJonathan Adams# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 237c478bd9Sstevel@tonic-gate# Use is subject to license terms. 247c478bd9Sstevel@tonic-gate# 257c478bd9Sstevel@tonic-gate 263b6e0a59SMatt Amdur# 273b6e0a59SMatt Amdur# Copyright 2011 Nexenta Systems, Inc. All rights reserved. 283b6e0a59SMatt Amdur# Copyright (c) 2012 by Delphix. All rights reserved. 293b6e0a59SMatt Amdur# Copyright (c) 2012 Joyent, Inc. All rights reserved. 303b6e0a59SMatt Amdur# 313b6e0a59SMatt Amdur 327c478bd9Sstevel@tonic-gate.KEEP_STATE: 337c478bd9Sstevel@tonic-gate.SUFFIXES: 347c478bd9Sstevel@tonic-gate 3569bb4bb4ScarlsonjSRCS += \ 3669bb4bb4Scarlsonj ffs.c \ 3769bb4bb4Scarlsonj mdb.c \ 387c478bd9Sstevel@tonic-gate mdb_addrvec.c \ 397c478bd9Sstevel@tonic-gate mdb_argvec.c \ 407c478bd9Sstevel@tonic-gate mdb_callb.c \ 417c478bd9Sstevel@tonic-gate mdb_cmdbuf.c \ 427c478bd9Sstevel@tonic-gate mdb_cmds.c \ 437c478bd9Sstevel@tonic-gate mdb_conf.c \ 447c478bd9Sstevel@tonic-gate mdb_context.c \ 457c478bd9Sstevel@tonic-gate mdb_create.c \ 467c478bd9Sstevel@tonic-gate mdb_ctf.c \ 477c478bd9Sstevel@tonic-gate mdb_ctf_open.c \ 487c478bd9Sstevel@tonic-gate mdb_debug.c \ 497c478bd9Sstevel@tonic-gate mdb_demangle.c \ 507c478bd9Sstevel@tonic-gate mdb_disasm.c \ 517c478bd9Sstevel@tonic-gate mdb_dump.c \ 527c478bd9Sstevel@tonic-gate mdb_err.c \ 537c478bd9Sstevel@tonic-gate mdb_evset.c \ 547c478bd9Sstevel@tonic-gate mdb_fdio.c \ 557c478bd9Sstevel@tonic-gate mdb_fmt.c \ 567c478bd9Sstevel@tonic-gate mdb_frame.c \ 577c478bd9Sstevel@tonic-gate mdb_gelf.c \ 587c478bd9Sstevel@tonic-gate mdb_help.c \ 597c478bd9Sstevel@tonic-gate mdb_io.c \ 60843e1988Sjohnlev mdb_kb_kvm.c \ 617c478bd9Sstevel@tonic-gate mdb_kproc.c \ 627c478bd9Sstevel@tonic-gate mdb_kvm.c \ 637c478bd9Sstevel@tonic-gate mdb_logio.c \ 647c478bd9Sstevel@tonic-gate mdb_list.c \ 657c478bd9Sstevel@tonic-gate mdb_macalias.c \ 667c478bd9Sstevel@tonic-gate mdb_main.c \ 67843e1988Sjohnlev mdb_memio.c \ 687c478bd9Sstevel@tonic-gate mdb_modapi.c \ 697c478bd9Sstevel@tonic-gate mdb_module.c \ 707c478bd9Sstevel@tonic-gate mdb_module_load.c \ 717c478bd9Sstevel@tonic-gate mdb_nm.c \ 727c478bd9Sstevel@tonic-gate mdb_nv.c \ 737c478bd9Sstevel@tonic-gate mdb_pipeio.c \ 747c478bd9Sstevel@tonic-gate mdb_print.c \ 757c478bd9Sstevel@tonic-gate mdb_proc.c \ 767c478bd9Sstevel@tonic-gate mdb_pservice.c \ 777c478bd9Sstevel@tonic-gate mdb_rawfile.c \ 787c478bd9Sstevel@tonic-gate mdb_set.c \ 797c478bd9Sstevel@tonic-gate mdb_shell.c \ 807c478bd9Sstevel@tonic-gate mdb_signal.c \ 817c478bd9Sstevel@tonic-gate mdb_stdlib.c \ 827c478bd9Sstevel@tonic-gate mdb_string.c \ 837c478bd9Sstevel@tonic-gate mdb_strio.c \ 843b6e0a59SMatt Amdur mdb_tab.c \ 857c478bd9Sstevel@tonic-gate mdb_target.c \ 867c478bd9Sstevel@tonic-gate mdb_tdb.c \ 877c478bd9Sstevel@tonic-gate mdb_termio.c \ 887c478bd9Sstevel@tonic-gate mdb_umem.c \ 897c478bd9Sstevel@tonic-gate mdb_value.c \ 907c478bd9Sstevel@tonic-gate mdb_vcb.c \ 914a1c2431SJonathan Adams mdb_wcb.c \ 924a1c2431SJonathan Adams mdb_whatis.c 937c478bd9Sstevel@tonic-gate 947c478bd9Sstevel@tonic-gate$(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG 957c478bd9Sstevel@tonic-gateCPPFLAGS += -D_MDB -I. -I../.. -I../../../common 967c478bd9Sstevel@tonic-gate 97843e1988SjohnlevC99MODE= -xc99=%all 98843e1988SjohnlevC99LMODE= -Xc99=%all 99843e1988Sjohnlev 1007c1d3545SGordon RossLDLIBS += -lcurses -lkvm -lproc -lrtld_db -lctf -lumem -ldisasm -lscf 1017c478bd9Sstevel@tonic-gate 102*7014882cSRichard LoweCERRWARN += -_gcc=-Wno-uninitialized 103*7014882cSRichard LoweCERRWARN += -_gcc=-Wno-char-subscripts 104*7014882cSRichard LoweCERRWARN += -_gcc=-Wno-clobbered 105*7014882cSRichard LoweCERRWARN += -_gcc=-Wno-parentheses 106*7014882cSRichard LoweCERRWARN += -_gcc=-Wno-unused-label 107*7014882cSRichard LoweCERRWARN += -_gcc=-Wno-unused-variable 108*7014882cSRichard Lowe 1098793b36bSNick Todd# 1108793b36bSNick Todd# -erroff=E_INCONS_ARG_DECL2 works around a problem where lint gets confused 1118793b36bSNick Todd# about how struct mdb_tgt_gregset is used in mdb_tgt_stack_f() and 1128793b36bSNick Todd# mdb_tgt_stack_iter_f(). Will be resolved as part of fix for CR 6749868. 1138793b36bSNick Todd# 1148793b36bSNick ToddLINTFLAGS += -n -errtags=yes -erroff=E_INCONS_ARG_DECL2 1157c478bd9Sstevel@tonic-gateLINTFILES = $(SRCS:%.c=%.ln) 1167c478bd9Sstevel@tonic-gate 1177c478bd9Sstevel@tonic-gatePROG = mdb 1187c478bd9Sstevel@tonic-gateOBJS = $(SRCS:%.c=%.o) mdb_lex.o mdb_grammar.o 1197c478bd9Sstevel@tonic-gate 1207c478bd9Sstevel@tonic-gateLINK = adb 1217c478bd9Sstevel@tonic-gateROOTLINK = $(ROOTBIN)/$(LINK) 1227c478bd9Sstevel@tonic-gateROOTLINK32 = $(LINK:%=$(ROOTBIN32)/%) 1237c478bd9Sstevel@tonic-gateROOTLINK64 = $(LINK:%=$(ROOTBIN64)/%) 1247c478bd9Sstevel@tonic-gate 1257c478bd9Sstevel@tonic-gate.NO_PARALLEL: 1267c478bd9Sstevel@tonic-gate.PARALLEL: $(OBJS) $(LINTFILES) 1277c478bd9Sstevel@tonic-gate 1287c478bd9Sstevel@tonic-gateall: $(PROG) 1297c478bd9Sstevel@tonic-gate 1307c478bd9Sstevel@tonic-gate$(PROG): $(OBJS) 1317c478bd9Sstevel@tonic-gate $(LINK.c) $(OBJS) -o $@ $(LDLIBS) 1327c478bd9Sstevel@tonic-gate $(CTFMERGE) -L VERSION -o $@ $(OBJS) 1337c478bd9Sstevel@tonic-gate $(POST_PROCESS) 1347c478bd9Sstevel@tonic-gate 1357c478bd9Sstevel@tonic-gate$(ROOTLINK32): $(ROOTPROG32) 1367c478bd9Sstevel@tonic-gate $(RM) $@ 1377c478bd9Sstevel@tonic-gate $(LN) $(ROOTPROG32) $@ 1387c478bd9Sstevel@tonic-gate 1397c478bd9Sstevel@tonic-gate$(ROOTLINK64): $(ROOTPROG64) 1407c478bd9Sstevel@tonic-gate $(RM) $@ 1417c478bd9Sstevel@tonic-gate $(LN) $(ROOTPROG64) $@ 1427c478bd9Sstevel@tonic-gate 1437c478bd9Sstevel@tonic-gatemdb_lex.c: ../../../common/mdb/mdb_lex.l mdb_grammar.h 1447c478bd9Sstevel@tonic-gate $(LEX) $(LFLAGS) ../../../common/mdb/mdb_lex.l > $@ 1457c478bd9Sstevel@tonic-gate 1467c478bd9Sstevel@tonic-gatemdb_grammar.h mdb_grammar.c: ../../../common/mdb/mdb_grammar.y 1477c478bd9Sstevel@tonic-gate $(YACC) $(YFLAGS) ../../../common/mdb/mdb_grammar.y 1487c478bd9Sstevel@tonic-gate @$(MV) y.tab.h mdb_grammar.h 1497c478bd9Sstevel@tonic-gate @$(MV) y.tab.c mdb_grammar.c 1507c478bd9Sstevel@tonic-gate 1517c478bd9Sstevel@tonic-gatemdb_lex.o mdb_grammar.o := CCVERBOSE = 1527c478bd9Sstevel@tonic-gate 1537c478bd9Sstevel@tonic-gatemdb_conf.o := CPPFLAGS += -DMDB_VERSION='$(MDB_VERSION)' 1547c478bd9Sstevel@tonic-gate 1557c478bd9Sstevel@tonic-gateinet_ntop.o := CPPFLAGS += -Dsnprintf=mdb_snprintf 1567c478bd9Sstevel@tonic-gate 15769bb4bb4Scarlsonjffs.o ffs.ln := CPPFLAGS += -Dffs=mdb_ffs 15869bb4bb4Scarlsonj 1597c478bd9Sstevel@tonic-gate%.o: ../../../common/mdb/%.c 1607c478bd9Sstevel@tonic-gate $(COMPILE.c) $< 1617c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1627c478bd9Sstevel@tonic-gate 1637c478bd9Sstevel@tonic-gate%.o: ../../mdb/%.c 1647c478bd9Sstevel@tonic-gate $(COMPILE.c) $< 1657c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1667c478bd9Sstevel@tonic-gate 1677c478bd9Sstevel@tonic-gate%.o: %.c 1687c478bd9Sstevel@tonic-gate $(COMPILE.c) $< 1697c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1707c478bd9Sstevel@tonic-gate 1717c478bd9Sstevel@tonic-gate%.o: $(SRC)/common/net/util/%.c 1727c478bd9Sstevel@tonic-gate $(COMPILE.c) $< 1737c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1747c478bd9Sstevel@tonic-gate 17569bb4bb4Scarlsonj%.o: $(SRC)/common/util/%.c 17669bb4bb4Scarlsonj $(COMPILE.c) $< 17769bb4bb4Scarlsonj $(CTFCONVERT_O) 17869bb4bb4Scarlsonj 1797c478bd9Sstevel@tonic-gateclean.lint: 1807c478bd9Sstevel@tonic-gate $(RM) $(LINTFILES) 1817c478bd9Sstevel@tonic-gate 1827c478bd9Sstevel@tonic-gateclean: 1837c478bd9Sstevel@tonic-gate $(RM) $(OBJS) 1847c478bd9Sstevel@tonic-gate $(RM) mdb_lex.c mdb_grammar.c mdb_grammar.h y.tab.h y.tab.c y.output 1857c478bd9Sstevel@tonic-gate 1867c478bd9Sstevel@tonic-gateclobber: clean clean.lint 1877c478bd9Sstevel@tonic-gate $(RM) $(PROG) 1887c478bd9Sstevel@tonic-gate 1897c478bd9Sstevel@tonic-gate%.ln: ../../../common/mdb/%.c 1907c478bd9Sstevel@tonic-gate $(LINT.c) -c $< 1917c478bd9Sstevel@tonic-gate 1927c478bd9Sstevel@tonic-gate%.ln: ../../mdb/%.c 1937c478bd9Sstevel@tonic-gate $(LINT.c) -c $< 1947c478bd9Sstevel@tonic-gate 1957c478bd9Sstevel@tonic-gate%.ln: %.c 1967c478bd9Sstevel@tonic-gate $(LINT.c) -c $< 1977c478bd9Sstevel@tonic-gate 1987c478bd9Sstevel@tonic-gate%.ln: $(SRC)/common/net/util/%.c 1997c478bd9Sstevel@tonic-gate $(LINT.c) -c $< 2007c478bd9Sstevel@tonic-gate 20169bb4bb4Scarlsonj%.ln: $(SRC)/common/util/%.c 20269bb4bb4Scarlsonj $(LINT.c) -c $< 20369bb4bb4Scarlsonj 2047c478bd9Sstevel@tonic-gatelint: $(LINTFILES) 2057c478bd9Sstevel@tonic-gate $(LINT) $(LINTFLAGS) $(LINTFILES) 2067c478bd9Sstevel@tonic-gate 2077c478bd9Sstevel@tonic-gatedmods: 208