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