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 \ 88*0a47c91cSRobert Mustacchi mdb_typedef.c \ 897c478bd9Sstevel@tonic-gate mdb_umem.c \ 907c478bd9Sstevel@tonic-gate mdb_value.c \ 917c478bd9Sstevel@tonic-gate mdb_vcb.c \ 924a1c2431SJonathan Adams mdb_wcb.c \ 934a1c2431SJonathan Adams mdb_whatis.c 947c478bd9Sstevel@tonic-gate 957c478bd9Sstevel@tonic-gate$(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG 967c478bd9Sstevel@tonic-gateCPPFLAGS += -D_MDB -I. -I../.. -I../../../common 977c478bd9Sstevel@tonic-gate 98843e1988SjohnlevC99MODE= -xc99=%all 99843e1988SjohnlevC99LMODE= -Xc99=%all 100843e1988Sjohnlev 1017c1d3545SGordon RossLDLIBS += -lcurses -lkvm -lproc -lrtld_db -lctf -lumem -ldisasm -lscf 1027c478bd9Sstevel@tonic-gate 1037014882cSRichard LoweCERRWARN += -_gcc=-Wno-uninitialized 1047014882cSRichard LoweCERRWARN += -_gcc=-Wno-char-subscripts 1057014882cSRichard LoweCERRWARN += -_gcc=-Wno-clobbered 1067014882cSRichard LoweCERRWARN += -_gcc=-Wno-parentheses 1077014882cSRichard LoweCERRWARN += -_gcc=-Wno-unused-label 1087014882cSRichard LoweCERRWARN += -_gcc=-Wno-unused-variable 1097014882cSRichard Lowe 1108793b36bSNick Todd# 1118793b36bSNick Todd# -erroff=E_INCONS_ARG_DECL2 works around a problem where lint gets confused 1128793b36bSNick Todd# about how struct mdb_tgt_gregset is used in mdb_tgt_stack_f() and 1138793b36bSNick Todd# mdb_tgt_stack_iter_f(). Will be resolved as part of fix for CR 6749868. 1148793b36bSNick Todd# 1158793b36bSNick ToddLINTFLAGS += -n -errtags=yes -erroff=E_INCONS_ARG_DECL2 1167c478bd9Sstevel@tonic-gateLINTFILES = $(SRCS:%.c=%.ln) 1177c478bd9Sstevel@tonic-gate 1187c478bd9Sstevel@tonic-gatePROG = mdb 1197c478bd9Sstevel@tonic-gateOBJS = $(SRCS:%.c=%.o) mdb_lex.o mdb_grammar.o 1207c478bd9Sstevel@tonic-gate 1217c478bd9Sstevel@tonic-gateLINK = adb 1227c478bd9Sstevel@tonic-gateROOTLINK = $(ROOTBIN)/$(LINK) 1237c478bd9Sstevel@tonic-gateROOTLINK32 = $(LINK:%=$(ROOTBIN32)/%) 1247c478bd9Sstevel@tonic-gateROOTLINK64 = $(LINK:%=$(ROOTBIN64)/%) 1257c478bd9Sstevel@tonic-gate 1267c478bd9Sstevel@tonic-gate.NO_PARALLEL: 1277c478bd9Sstevel@tonic-gate.PARALLEL: $(OBJS) $(LINTFILES) 1287c478bd9Sstevel@tonic-gate 1297c478bd9Sstevel@tonic-gateall: $(PROG) 1307c478bd9Sstevel@tonic-gate 1317c478bd9Sstevel@tonic-gate$(PROG): $(OBJS) 1327c478bd9Sstevel@tonic-gate $(LINK.c) $(OBJS) -o $@ $(LDLIBS) 1337c478bd9Sstevel@tonic-gate $(CTFMERGE) -L VERSION -o $@ $(OBJS) 1347c478bd9Sstevel@tonic-gate $(POST_PROCESS) 1357c478bd9Sstevel@tonic-gate 1367c478bd9Sstevel@tonic-gate$(ROOTLINK32): $(ROOTPROG32) 1377c478bd9Sstevel@tonic-gate $(RM) $@ 1387c478bd9Sstevel@tonic-gate $(LN) $(ROOTPROG32) $@ 1397c478bd9Sstevel@tonic-gate 1407c478bd9Sstevel@tonic-gate$(ROOTLINK64): $(ROOTPROG64) 1417c478bd9Sstevel@tonic-gate $(RM) $@ 1427c478bd9Sstevel@tonic-gate $(LN) $(ROOTPROG64) $@ 1437c478bd9Sstevel@tonic-gate 1447c478bd9Sstevel@tonic-gatemdb_lex.c: ../../../common/mdb/mdb_lex.l mdb_grammar.h 1457c478bd9Sstevel@tonic-gate $(LEX) $(LFLAGS) ../../../common/mdb/mdb_lex.l > $@ 1467c478bd9Sstevel@tonic-gate 1477c478bd9Sstevel@tonic-gatemdb_grammar.h mdb_grammar.c: ../../../common/mdb/mdb_grammar.y 1487c478bd9Sstevel@tonic-gate $(YACC) $(YFLAGS) ../../../common/mdb/mdb_grammar.y 1497c478bd9Sstevel@tonic-gate @$(MV) y.tab.h mdb_grammar.h 1507c478bd9Sstevel@tonic-gate @$(MV) y.tab.c mdb_grammar.c 1517c478bd9Sstevel@tonic-gate 1527c478bd9Sstevel@tonic-gatemdb_lex.o mdb_grammar.o := CCVERBOSE = 1537c478bd9Sstevel@tonic-gate 1547c478bd9Sstevel@tonic-gatemdb_conf.o := CPPFLAGS += -DMDB_VERSION='$(MDB_VERSION)' 1557c478bd9Sstevel@tonic-gate 1567c478bd9Sstevel@tonic-gateinet_ntop.o := CPPFLAGS += -Dsnprintf=mdb_snprintf 1577c478bd9Sstevel@tonic-gate 15869bb4bb4Scarlsonjffs.o ffs.ln := CPPFLAGS += -Dffs=mdb_ffs 15969bb4bb4Scarlsonj 1607c478bd9Sstevel@tonic-gate%.o: ../../../common/mdb/%.c 1617c478bd9Sstevel@tonic-gate $(COMPILE.c) $< 1627c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1637c478bd9Sstevel@tonic-gate 1647c478bd9Sstevel@tonic-gate%.o: ../../mdb/%.c 1657c478bd9Sstevel@tonic-gate $(COMPILE.c) $< 1667c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1677c478bd9Sstevel@tonic-gate 1687c478bd9Sstevel@tonic-gate%.o: %.c 1697c478bd9Sstevel@tonic-gate $(COMPILE.c) $< 1707c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1717c478bd9Sstevel@tonic-gate 1727c478bd9Sstevel@tonic-gate%.o: $(SRC)/common/net/util/%.c 1737c478bd9Sstevel@tonic-gate $(COMPILE.c) $< 1747c478bd9Sstevel@tonic-gate $(CTFCONVERT_O) 1757c478bd9Sstevel@tonic-gate 17669bb4bb4Scarlsonj%.o: $(SRC)/common/util/%.c 17769bb4bb4Scarlsonj $(COMPILE.c) $< 17869bb4bb4Scarlsonj $(CTFCONVERT_O) 17969bb4bb4Scarlsonj 1807c478bd9Sstevel@tonic-gateclean.lint: 1817c478bd9Sstevel@tonic-gate $(RM) $(LINTFILES) 1827c478bd9Sstevel@tonic-gate 1837c478bd9Sstevel@tonic-gateclean: 1847c478bd9Sstevel@tonic-gate $(RM) $(OBJS) 1857c478bd9Sstevel@tonic-gate $(RM) mdb_lex.c mdb_grammar.c mdb_grammar.h y.tab.h y.tab.c y.output 1867c478bd9Sstevel@tonic-gate 1877c478bd9Sstevel@tonic-gateclobber: clean clean.lint 1887c478bd9Sstevel@tonic-gate $(RM) $(PROG) 1897c478bd9Sstevel@tonic-gate 1907c478bd9Sstevel@tonic-gate%.ln: ../../../common/mdb/%.c 1917c478bd9Sstevel@tonic-gate $(LINT.c) -c $< 1927c478bd9Sstevel@tonic-gate 1937c478bd9Sstevel@tonic-gate%.ln: ../../mdb/%.c 1947c478bd9Sstevel@tonic-gate $(LINT.c) -c $< 1957c478bd9Sstevel@tonic-gate 1967c478bd9Sstevel@tonic-gate%.ln: %.c 1977c478bd9Sstevel@tonic-gate $(LINT.c) -c $< 1987c478bd9Sstevel@tonic-gate 1997c478bd9Sstevel@tonic-gate%.ln: $(SRC)/common/net/util/%.c 2007c478bd9Sstevel@tonic-gate $(LINT.c) -c $< 2017c478bd9Sstevel@tonic-gate 20269bb4bb4Scarlsonj%.ln: $(SRC)/common/util/%.c 20369bb4bb4Scarlsonj $(LINT.c) -c $< 20469bb4bb4Scarlsonj 2057c478bd9Sstevel@tonic-gatelint: $(LINTFILES) 2067c478bd9Sstevel@tonic-gate $(LINT) $(LINTFLAGS) $(LINTFILES) 2077c478bd9Sstevel@tonic-gate 2087c478bd9Sstevel@tonic-gatedmods: 209