usr/src/cmd/mdb/Makefile.kmdb
author John Beck <John.Beck@Sun.COM>
Thu, 02 Oct 2008 15:31:28 -0700
changeset 7767 905db6a104b6
parent 2546 3e3e9857b7e6
child 10207 87c40ea3fc4b
permissions -rw-r--r--
6755382 new "more linker like" version of lint2 exposes new lint warnings in ON
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     1
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     2
# CDDL HEADER START
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     3
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
1605
9633a802c459 6379114 kmdb needs to be stricter with its module linkage generation scripts
petede
parents: 524
diff changeset
     5
# Common Development and Distribution License (the "License").
9633a802c459 6379114 kmdb needs to be stricter with its module linkage generation scripts
petede
parents: 524
diff changeset
     6
# You may not use this file except in compliance with the License.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     7
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    10
# See the License for the specific language governing permissions
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    11
# and limitations under the License.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    12
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    18
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    19
# CDDL HEADER END
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    20
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    21
#
7767
905db6a104b6 6755382 new "more linker like" version of lint2 exposes new lint warnings in ON
John Beck <John.Beck@Sun.COM>
parents: 2546
diff changeset
    22
# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    23
# Use is subject to license terms.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    24
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    25
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    26
.KEEP_STATE:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    27
.SUFFIXES:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    28
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    29
PROG = kmdbmod
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    30
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    31
include ../Makefile.kmdb
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    32
include ../../Makefile.kmdb
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    33
include ../../../Makefile.versions
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    34
include ../../../Makefile.tools
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    35
include ../../../Makefile.kmdb.files
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    36
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    37
OBJS += mdb_lex.o mdb_grammar.o
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    38
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    39
.NO_PARALLEL:
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    40
.PARALLEL: kmdb_modlinktest.o kmdb_terminfo.c $(ALLOBJS) $(ALLOBJS:%.o=%.ln)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    41
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    42
SRCINCDIRS	+= . .. ../.. ../../../common ../../../common/libstand
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    43
OSINCDIRS	+= $(SRC)/uts/$(MMU) $(SRC)/uts/$(ISADIR)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    44
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    45
INCDIRS	= $(SRCINCDIRS) $(OSINCDIRS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    46
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    47
# We don't want thread-specific errno's in kmdb, as we're single-threaded.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    48
DTS_ERRNO=
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    49
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    50
$(NOT_RELEASE_BUILD)CPPFLAGS += -DDEBUG
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    51
CPPFLAGS += -D_MDB -D_KMDB $(INCDIRS:%=-I%) $(ARCHOPTS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    52
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    53
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    54
# kmdb is a kernel module, so we'll use the kernel's build flags.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    55
CFLAGS += $(STAND_FLAGS_32)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    56
CFLAGS64 += $(STAND_FLAGS_64)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    57
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    58
ASFLAGS += -P -D_ASM $(INCDIRS:%=-I%) $(ARCHOPTS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    59
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    60
SUBDIR64_sparc		= sparcv9
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    61
SUBDIR64_i386		= amd64
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    62
SUBDIR64		= $(SUBDIR64_$(MACH))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    63
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    64
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    65
# Terminal types supported by kmdb
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    66
#
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    67
SUPPORTED_TERMS	= \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    68
	ansi \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    69
	at386 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    70
	AT386 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    71
	dtterm \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    72
	h19 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    73
	sun \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    74
	sun-cmd \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    75
	sun-color \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    76
	vt100 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    77
	vt52 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    78
	wyse30 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    79
	wyse50 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    80
	wyse60 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    81
	xterm \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    82
	xterms
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    83
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    84
LINTFLAGS += -n -errtags=yes
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    85
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    86
# The prom interfaces (the prom_* files) are compiled with -D_KERNEL, which
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    87
# teaches them about the kernel version of the synchronization functions, while
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    88
# the core of kmdb, which is compiled without -D_KERNEL, knows about the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    89
# userland versions.  Even though nobody actually uses either one, lint
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    90
# complains that both know about different versions.  The same thing applies
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    91
# to the driver, parts of which are executed directly by the kernel, and other
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    92
# parts which are called by kmdb via the auxv.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    93
ALLLINTFLAGS = $(LINTFLAGS) \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    94
	-xerroff=E_FUNC_DECL_VAR_ARG2 \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    95
	-xerroff=E_INCONS_ARG_DECL \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    96
	-xerroff=E_INCONS_ARG_DECL2 \
7767
905db6a104b6 6755382 new "more linker like" version of lint2 exposes new lint warnings in ON
John Beck <John.Beck@Sun.COM>
parents: 2546
diff changeset
    97
	-xerroff=E_INCONS_ARG_USED2 \
905db6a104b6 6755382 new "more linker like" version of lint2 exposes new lint warnings in ON
John Beck <John.Beck@Sun.COM>
parents: 2546
diff changeset
    98
	-xerroff=E_INCONS_VAL_TYPE_DECL2 \
905db6a104b6 6755382 new "more linker like" version of lint2 exposes new lint warnings in ON
John Beck <John.Beck@Sun.COM>
parents: 2546
diff changeset
    99
	-xerroff=E_INCONS_VAL_TYPE_USED2
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   100
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   101
MAPFILE = mapfile
1605
9633a802c459 6379114 kmdb needs to be stricter with its module linkage generation scripts
petede
parents: 524
diff changeset
   102
MAPFILE_INTERMEDIATE = $(MAPFILE).i
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   103
MAPFILE_TEMPLATE = ../../../common/kmdb/mapfile_skel
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   104
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   105
mdb_lex.o mdb_grammar.o := CCVERBOSE =
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   106
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   107
kmdb_ctf_open.o kmdb_ctf_open.ln	:= CPPFLAGS += -I$(SRC)/common/ctf
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   108
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   109
PROMTGTS	= $(PROMOBJS) $(PROMOBJS:%.o=%.ln)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   110
VERSTGTS	= $(VERSOBJS) $(VERSOBJS:%.o=%.ln)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   111
KCTLTGTS	= $(KCTLOBJS) $(KCTLOBJS:%.o=%.ln)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   112
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   113
$(PROMTGTS) := CPPFLAGS += -D_BOOT -D_KERNEL -D_MACHDEP $(PROMINCDIRS:%=-I%) \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   114
	-Dassfail=kmdb_prom_assfail
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   115
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   116
$(VERSTGTS) := CPPFLAGS += -DKMDB_VERSION='$(KMDB_VERSION)'
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   117
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   118
$(KCTLTGTS) := CPPFLAGS += -D_KERNEL
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   119
$(KCTLTGTS) := ASFLAGS += -D_KERNEL
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   120
2546
3e3e9857b7e6 PSARC 2005/314 IP Duplicate Address Detection
carlsonj
parents: 1605
diff changeset
   121
ffs.o ffs.ln := CPPFLAGS += -Dffs=mdb_ffs
3e3e9857b7e6 PSARC 2005/314 IP Duplicate Address Detection
carlsonj
parents: 1605
diff changeset
   122
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   123
INS.dir.root.sys=	$(INS) -s -d -m $(DIRMODE) $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   124
$(CH)INS.dir.root.sys=	$(INS) -s -d -m $(DIRMODE) -u root -g sys $@
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   125
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   126
$(ROOTMISC) $(ROOTMISC64) := FILEMODE = 0755
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   127
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   128
include ../../../Makefile.kmdb.targ