Makefile revision bf56214c0556fa6864189c826d39dbe156bb22a0
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER START
71cef386fae61275b03e203825680b39fedaa8c6Tinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The contents of this file are subject to the terms of the
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# Common Development and Distribution License (the "License").
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# You may not use this file except in compliance with the License.
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews# or http://www.opensolaris.org/os/licensing.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# See the License for the specific language governing permissions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# and limitations under the License.
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User#
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# When distributing Covered Code, include this CDDL HEADER in each
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# If applicable, add the following below this CDDL HEADER, with the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# fields enclosed by brackets "[]" replaced with your own identifying
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User# information: Portions Copyright [yyyy] [name of copyright owner]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER END
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User# uts/sparc/ssd/Makefile
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Use is subject to license terms.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews#ident "%Z%%M% %I% %E% SMI"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# This makefile drives the production of the ssd driver kernel module.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# sparc architecture dependent
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User#
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# Path to the base of the uts directory tree (usually /usr/src/uts).
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserUTSBASE = ../..
c313914d0e66b20969215e519bbf2ab4ecf39512Tinderbox User
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# Define the module and object file sets.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox UserMODULE = ssd
a1ff871f78b7d907d6fc3a382beea2a640fe8423Tinderbox UserOBJECTS = $(SSD_OBJS:%=$(OBJS_DIR)/%)
3ca1a32241189d1e02e59f6b56399eb9b40f2aafTinderbox UserLINTS = $(SSD_OBJS:%.o=$(LINTS_DIR)/%.ln)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
d253648fe3331622cebea02d60aaecca3082d78dTinderbox UserCONF_SRCDIR = $(UTSBASE)/sun/io/scsi/targets
bfb7b680bf88c1fdd9949197b71c512c532280a4Tinderbox UserWARLOCK_OUT = ssd.ll
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntWARLOCK_OK = $(MODULE).ok
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntWLCMD_DIR = $(UTSBASE)/common/io/warlock
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# Include common rules.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude $(UTSBASE)/sparc/Makefile.sparc
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
f9ce6280cec79deb16ff6d9807aa493ff23e10d9Tinderbox User#
c313914d0e66b20969215e519bbf2ab4ecf39512Tinderbox User# Define targets
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User#
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserALL_TARGET = $(BINARY) $(SRC_CONFILE)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntLINT_TARGET = $(MODULE).lint
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox User#
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox User# lint pass one enforcement
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox User#
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox UserCFLAGS += $(CCVERBOSE) -D__fibre -dalign
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntLINTFLAGS += -D__fibre
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserWLCCFLAGS = -D__fibre
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# For now, disable these lint checks; maintainers should endeavor
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# to investigate and remove these for maximum lint coverage.
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# Please do not carry these forward to new Makefiles.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntLINTTAGS += -erroff=E_STATIC_UNUSED
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntLINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User#
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# Default build targets.
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt.KEEP_STATE:
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox Userall: $(ALL_DEPS)
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox Userdef: $(DEF_DEPS)
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox Userclean: $(CLEAN_DEPS)
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox User
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox Userclobber: $(CLOBBER_DEPS)
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox User $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox User
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox Userlint: $(LINT_DEPS)
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox User
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox Usermodlintlib: $(MODLINTLIB_DEPS)
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox User
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox Userclean.lint: $(CLEAN_LINT_DEPS)
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox Userinstall: $(INSTALL_DEPS)
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User#
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User# Include common targets.
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User#
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox Userinclude $(UTSBASE)/sparc/Makefile.targ
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox Userbrowser: $(BINARY)
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox Userbrowser := CFLAGS += -xsb
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User
33c9436ef1a43d3c0fc3d9be9b4b0509daa83223Tinderbox User#
a1ff871f78b7d907d6fc3a382beea2a640fe8423Tinderbox User# Defines for local commands.
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User#
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox UserWARLOCK = warlock
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox UserWLCC = wlcc
0da02c26a6631c25f075a8e4ac6de9e58f49a0c2Tinderbox UserTOUCH = touch
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox UserTEST = test
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User#
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User# Warlock targets
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox UserSCSI_FILES = $(SCSI_OBJS:%.o=-l ../scsi/%.ll)
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox UserCMLB_FILES = $(CMLB_OBJS:%.o=-l ../cmlb/%.ll)
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userwarlock: warlock_alone
3ca1a32241189d1e02e59f6b56399eb9b40f2aafTinderbox User
3ca1a32241189d1e02e59f6b56399eb9b40f2aafTinderbox Userwarlock_alone: $(WARLOCK_OK)
3ca1a32241189d1e02e59f6b56399eb9b40f2aafTinderbox User
3ca1a32241189d1e02e59f6b56399eb9b40f2aafTinderbox Userscsi_files:
3ca1a32241189d1e02e59f6b56399eb9b40f2aafTinderbox User @cd ../scsi; pwd; $(MAKE) warlock
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usercmlb_files:
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User @cd ../cmlb; pwd; $(MAKE) warlock
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User$(WARLOCK_OK): $(WLCMD_DIR)/ssd.wlcmd $(WARLOCK_OUT) scsi.files cmlb_files
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User $(WARLOCK) -c $(WLCMD_DIR)/ssd.wlcmd $(WARLOCK_OUT) \
8a48b6b9b6fa8486f24b22d1972b2b6ebb36a4a4Tinderbox User $(SCSI_FILES) $(CMLB_FILES) \
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User -l ../warlock/ddi_dki_impl.ll
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User $(TOUCH) $@
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
a1ff871f78b7d907d6fc3a382beea2a640fe8423Tinderbox Userssd.ll: $(UTSBASE)/common/io/scsi/targets/sd.c
3ca1a32241189d1e02e59f6b56399eb9b40f2aafTinderbox User $(WLCC) $(CPPFLAGS) $(WLCCFLAGS) -DDEBUG -o $@ $(UTSBASE)/common/io/scsi/targets/sd.c
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox User
3ca1a32241189d1e02e59f6b56399eb9b40f2aafTinderbox Userwarlock_ddi.files:
3ca1a32241189d1e02e59f6b56399eb9b40f2aafTinderbox User @cd ../warlock; pwd; $(MAKE) warlock
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox User
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox Userscsi.files:
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox User @cd ../scsi; pwd; $(MAKE) warlock
363b21045b718d06d414784c96193dc9a233e8c5Tinderbox User