Makefile revision 0c6eaab480b44a0c790ad94e7cb6084792411de9
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# CDDL HEADER START
17d67aeb3722c094c6493a3e9a9d0cdfb9453ecdvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# The contents of this file are subject to the terms of the
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Common Development and Distribution License (the "License").
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# You may not use this file except in compliance with the License.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# or http://www.opensolaris.org/os/licensing.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# See the License for the specific language governing permissions
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# and limitations under the License.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# When distributing Covered Code, include this CDDL HEADER in each
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# If applicable, add the following below this CDDL HEADER, with the
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# fields enclosed by brackets "[]" replaced with your own identifying
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# information: Portions Copyright [yyyy] [name of copyright owner]
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# CDDL HEADER END
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Use is subject to license terms.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# This makefile drives the production of the mpt_sas driver kernel module.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Sparc architecture dependent
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Path to the base of the uts directory tree (usually /usr/src/uts).
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncUTSBASE = ../../../../src/uts
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Define the module and object file sets.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncMODULE = mpt_sas
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncOBJECTS = $(MPTSAS_OBJS:%=$(OBJS_DIR)/%)
2c691730ab202620fe427110841aa4e0075b7ccavboxsyncLINTS = $(MPTSAS_OBJS:%.o=$(LINTS_DIR)/%.ln)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncCONF_SRCDIR = $(UTSBASE)/common/io/scsi/adapters/mpt_sas
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncWARLOCK_OUT = $(MPTSAS_OBJS:%.o=%.ll)
3d8242e90019d302159795040e410b3d774a4b0bvboxsyncWARLOCK_OK = $(MODULE).ok
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncWLCMD_DIR = $(UTSBASE)/common/io/warlock
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
2c691730ab202620fe427110841aa4e0075b7ccavboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Kernel Module Dependencies
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncLDFLAGS += -dy -Nmisc/scsi -Ndrv/scsi_vhci -Nmisc/sata
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
d02610fd604cc8ab4cccf7e3fa510c06cb728ff2vboxsync# Define targets
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncALL_TARGET = $(BINARY) $(CONFMOD)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncLINT_TARGET = $(MODULE).lint
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Include common rules.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncinclude $(UTSBASE)/sparc/Makefile.sparc
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# lint pass one enforcement
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncCFLAGS += $(CCVERBOSE)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
032e4e2dc19dfc5f755fca9ec053bf2c38de54d6vboxsyncCERRWARN += -_gcc=-Wno-parentheses
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncCERRWARN += -_gcc=-Wno-uninitialized
f2ca52afeb0baed982c05e9d8591e0e4c7539dbdvboxsyncCERRWARN += -_gcc=-Wno-switch
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Default build targets.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync.KEEP_STATE:
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncall: $(ALL_DEPS)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncdef: $(DEF_DEPS)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncclean: $(CLEAN_DEPS)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
3baadeafd9922582dad9b32431362e6296417dd8vboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncclobber: $(CLOBBER_DEPS)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsynclint: $(LINT_DEPS)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncmodlintlib: $(MODLINTLIB_DEPS)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncclean.lint: $(CLEAN_LINT_DEPS)
f2ca52afeb0baed982c05e9d8591e0e4c7539dbdvboxsync
49c9958a74e4a297fb7ec141ee764e872430f4bavboxsyncinstall: $(INSTALL_DEPS)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Include common targets.
faa254427e497bb7ee255b22581f40112025e92bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncinclude $(UTSBASE)/sparc/Makefile.targ
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# Defines for local commands.
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncWARLOCK = warlock
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncWLCC = wlcc
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncTOUCH = touch
c215a948010614887014a258c1751602d8bf7781vboxsyncTEST = test
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync# lock_lint rules
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync#
7c205843b5f25329b7bac4cb41e4c55a21c7aafevboxsyncSCSI_FILES = $(SCSI_OBJS:%.o= -l $(UTSBASE)/sparc/scsi/%.ll)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncwarlock: $(WARLOCK_OK)
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync$(WARLOCK_OK): $(WARLOCK_OUT) warlock_ddi.files scsi.files \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync $(WLCMD_DIR)/mptsas.wlcmd
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync $(WARLOCK) -c $(WLCMD_DIR)/mptsas.wlcmd $(WARLOCK_OUT) \
faa254427e497bb7ee255b22581f40112025e92bvboxsync $(UTSBASE)/sparc/warlock/scsi.ll \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync $(SCSI_FILES) \
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync -l $(UTSBASE)/sparc/warlock/ddi_dki_impl.ll
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync $(TOUCH) $@
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync%.ll: $(UTSBASE)/common/io/scsi/adapters/mpt_sas/%.c
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync $(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncwarlock_ddi.files:
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync @cd $(UTSBASE)/sparc/warlock; pwd; $(MAKE) warlock
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsyncscsi.files:
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync @cd $(UTSBASE)/sparc/scsi; pwd; $(MAKE) warlock
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync
5f9dfb422a6ed57822f9c0cb94fa7df8d24acc9bvboxsync