7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync#
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# CDDL HEADER START
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync#
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# The contents of this file are subject to the terms of the
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# Common Development and Distribution License (the "License").
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# You may not use this file except in compliance with the License.
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync#
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# or http://www.opensolaris.org/os/licensing.
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# See the License for the specific language governing permissions
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# and limitations under the License.
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync#
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# When distributing Covered Code, include this CDDL HEADER in each
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# If applicable, add the following below this CDDL HEADER, with the
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# fields enclosed by brackets "[]" replaced with your own identifying
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# information: Portions Copyright [yyyy] [name of copyright owner]
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync#
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# CDDL HEADER END
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync#
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync#
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# Use is subject to license terms.
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync#
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncMODULE = libumem.so
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncMDBTGT = proc
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncMODSRCS_DIR = ../../../common/modules/genunix
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncCOMMONSRCS = \
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync dist.c \
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync libumem.c \
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync misc.c \
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync umem.c
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncKMODSRCS = \
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync $(COMMONSRCS)
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncMODSRCS = \
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync $(COMMONSRCS) \
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync kgrep.c \
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync leaky.c \
f5eadb22976c1f9813300e4042b8255cfaef7e19vboxsync leaky_subr.c \
f5eadb22976c1f9813300e4042b8255cfaef7e19vboxsync proc_kludges.c
f5eadb22976c1f9813300e4042b8255cfaef7e19vboxsync
f5eadb22976c1f9813300e4042b8255cfaef7e19vboxsync#
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# This signals that $(KMODSRCS) != $(MODSRCS). There are certain features of
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# the libumem dmod, such as leak detection, that we cannot yet use in the kmod.
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# In most cases, the inability to use a given function is due to that function's
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# dependance on libproc interfaces - interfaces which are not present in kmdb.
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncKMOD_SOURCES_DIFFERENT=$(POUND_SIGN)
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncinclude ../../../../Makefile.cmd
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncCPPFLAGS += -I$(SRC)/lib/libumem/common
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncCPPFLAGS += -I$(SRC)/lib/libc/inc
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncCPPFLAGS += -I$(MODSRCS_DIR)
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncinclude ../../../../Makefile.cmd.64
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncinclude ../../Makefile.sparcv9
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncinclude ../../../Makefile.module
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncdmod/$(MODULE) := LDLIBS += -lproc -lm
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncCERRWARN += -_gcc=-Wno-unused-label
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncCERRWARN += -_gcc=-Wno-parentheses
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncCERRWARN += -_gcc=-Wno-uninitialized
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync%.o: $(MODSRCS_DIR)/%.c
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync $(COMPILE.c) $<
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync $(CTFCONVERT_O)
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync%.ln: $(MODSRCS_DIR)/%.c
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync $(LINT.c) -c $<
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync#
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# This module is somewhat unusual in that it is a proc-style dmod. proc dmods
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# are not normally built both for mdb and kmdb. These overrides build it as a
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync# proc dmod and as a kvm kmod.
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncTARGETS = $(TARGETS_proc) $(TARGETS_kvm_kmdb)
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsyncROOTTGTS = $(ROOTTGTS_proc)
7790c8b32f534f1d0939c1d2231c38dc54ca4423vboxsync