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 2008 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25
26MODULE = libumem.so
27MDBTGT = proc
28
29MODSRCS_DIR = ../../../common/modules/genunix
30
31COMMONSRCS = \
32	dist.c \
33	libumem.c \
34	misc.c \
35	umem.c
36
37KMODSRCS = \
38	$(COMMONSRCS)
39
40MODSRCS = \
41	$(COMMONSRCS) \
42	kgrep.c \
43	leaky.c \
44	leaky_subr.c \
45	proc_kludges.c
46
47#
48# This signals that $(KMODSRCS) != $(MODSRCS).  There are certain features of
49# the libumem dmod, such as leak detection, that we cannot yet use in the kmod.
50# In most cases, the inability to use a given function is due to that function's
51# dependance on libproc interfaces - interfaces which are not present in kmdb.
52KMOD_SOURCES_DIFFERENT=$(POUND_SIGN)
53
54include ../../../../Makefile.cmd
55
56CPPFLAGS += -I$(SRC)/lib/libumem/common
57CPPFLAGS += -I$(SRC)/lib/libc/inc
58CPPFLAGS += -I$(MODSRCS_DIR)
59
60include ../../../../Makefile.cmd.64
61include ../../Makefile.sparcv9
62include ../../../Makefile.module
63
64dmod/$(MODULE) := LDLIBS += -lproc -lm
65
66CERRWARN += -_gcc=-Wno-unused-label
67CERRWARN += -_gcc=-Wno-parentheses
68CERRWARN += $(CNOWARN_UNINIT)
69
70%.o: $(MODSRCS_DIR)/%.c
71	$(COMPILE.c) $<
72	$(CTFCONVERT_O)
73
74%.ln: $(MODSRCS_DIR)/%.c
75	$(LINT.c) -c $<
76
77#
78# This module is somewhat unusual in that it is a proc-style dmod.  proc dmods
79# are not normally built both for mdb and kmdb.  These overrides build it as a
80# proc dmod and as a kvm kmod.
81TARGETS = $(TARGETS_proc) $(TARGETS_kvm_kmdb)
82ROOTTGTS = $(ROOTTGTS_proc)
83