Makefile revision bf56214c0556fa6864189c826d39dbe156bb22a0
d3ed5b56cb6b58f87ffd125bed48f7668f13de1edirkx#
893328ef6ff86d0ca27774778d84410353789fb0fielding# CDDL HEADER START
6de8046f8f7e07cd83895a528df25d977e502c76nd#
893328ef6ff86d0ca27774778d84410353789fb0fielding# The contents of this file are subject to the terms of the
0202d2114cc6d7042995100519cce45c808c153bnd# Common Development and Distribution License (the "License").
0202d2114cc6d7042995100519cce45c808c153bnd# You may not use this file except in compliance with the License.
0202d2114cc6d7042995100519cce45c808c153bnd#
893328ef6ff86d0ca27774778d84410353789fb0fielding# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
0202d2114cc6d7042995100519cce45c808c153bnd# or http://www.opensolaris.org/os/licensing.
893328ef6ff86d0ca27774778d84410353789fb0fielding# See the License for the specific language governing permissions
0202d2114cc6d7042995100519cce45c808c153bnd# and limitations under the License.
0202d2114cc6d7042995100519cce45c808c153bnd#
0202d2114cc6d7042995100519cce45c808c153bnd# When distributing Covered Code, include this CDDL HEADER in each
0202d2114cc6d7042995100519cce45c808c153bnd# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
0202d2114cc6d7042995100519cce45c808c153bnd# If applicable, add the following below this CDDL HEADER, with the
893328ef6ff86d0ca27774778d84410353789fb0fielding# fields enclosed by brackets "[]" replaced with your own identifying
893328ef6ff86d0ca27774778d84410353789fb0fielding# information: Portions Copyright [yyyy] [name of copyright owner]
893328ef6ff86d0ca27774778d84410353789fb0fielding#
893328ef6ff86d0ca27774778d84410353789fb0fielding# CDDL HEADER END
0d50a692ff2ac7bdb42e417737ed86ebf0a41671ben#
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz#
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz# uts/sparc/fas/Makefile
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz#
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz# Use is subject to license terms.
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz#
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz# This makefile drives the production of the fas driver kernel module.
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz#
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz# sparc architecture dependent
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz#
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz#ident "%Z%%M% %I% %E% SMI"
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz#
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz# Path to the base of the uts directory tree (usually /usr/src/uts).
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz#
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantzUTSBASE = ../..
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz#
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz# Define the module and object file sets.
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz#
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantzMODULE = fas
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantzOBJECTS = $(FAS_OBJS:%=$(OBJS_DIR)/%)
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantzLINTS = $(FAS_OBJS:%.o=$(LINTS_DIR)/%.ln)
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantzROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantzWARLOCK_OUT = $(FAS_OBJS:%.o=%.ll)
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantzWARLOCK_OK = $(MODULE).ok
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantzWLCMD_DIR = $(UTSBASE)/common/io/warlock
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz#
893328ef6ff86d0ca27774778d84410353789fb0fielding# Include common rules.
893328ef6ff86d0ca27774778d84410353789fb0fielding#
893328ef6ff86d0ca27774778d84410353789fb0fieldinginclude $(UTSBASE)/sparc/Makefile.sparc
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz
0b7037d0efc1cd510ee12e8a35c982c3f2da0353pquerna#
0b7037d0efc1cd510ee12e8a35c982c3f2da0353pquerna# Define targets
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz#
893328ef6ff86d0ca27774778d84410353789fb0fieldingALL_TARGET = $(BINARY)
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantzLINT_TARGET = $(MODULE).lint
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantzINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz#
893328ef6ff86d0ca27774778d84410353789fb0fielding# lint pass one enforcement
f14fe1f44cb7018927ee0e31eb959cba8dc3700bjorton#
893328ef6ff86d0ca27774778d84410353789fb0fieldingCFLAGS += $(CCVERBOSE)
0b7037d0efc1cd510ee12e8a35c982c3f2da0353pquerna
893328ef6ff86d0ca27774778d84410353789fb0fielding#
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz# For now, disable these lint checks; maintainers should endeavor
893328ef6ff86d0ca27774778d84410353789fb0fielding# to investigate and remove these for maximum lint coverage.
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz# Please do not carry these forward to new Makefiles.
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz#
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantzLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantzLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
893328ef6ff86d0ca27774778d84410353789fb0fieldingLINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
f14fe1f44cb7018927ee0e31eb959cba8dc3700bjorton
893328ef6ff86d0ca27774778d84410353789fb0fielding#
0b7037d0efc1cd510ee12e8a35c982c3f2da0353pquerna# Default build targets.
0b7037d0efc1cd510ee12e8a35c982c3f2da0353pquerna#
0b7037d0efc1cd510ee12e8a35c982c3f2da0353pquerna.KEEP_STATE:
0b7037d0efc1cd510ee12e8a35c982c3f2da0353pquerna
893328ef6ff86d0ca27774778d84410353789fb0fieldingall: $(ALL_DEPS)
893328ef6ff86d0ca27774778d84410353789fb0fielding
893328ef6ff86d0ca27774778d84410353789fb0fieldingdef: $(DEF_DEPS)
893328ef6ff86d0ca27774778d84410353789fb0fielding
893328ef6ff86d0ca27774778d84410353789fb0fieldingclean: $(CLEAN_DEPS)
893328ef6ff86d0ca27774778d84410353789fb0fielding $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
893328ef6ff86d0ca27774778d84410353789fb0fielding
623882f55701a4c5a6bded180f60d86a524ac341saschaclobber: $(CLOBBER_DEPS)
623882f55701a4c5a6bded180f60d86a524ac341sascha $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
e07615ab3b59412d79eebb8d5b12f488e77c14a7jorton
e07615ab3b59412d79eebb8d5b12f488e77c14a7jortonlint: $(LINT_DEPS)
c066cdcb75ca262e424345b347b86e7ce2285869jerenkrantz
c15906bab97b9b71b6dc08c1aa2f5c0b72b5ca4edreidmodlintlib: $(MODLINTLIB_DEPS)
c15906bab97b9b71b6dc08c1aa2f5c0b72b5ca4edreid
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csaschaclean.lint: $(CLEAN_LINT_DEPS)
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha
893328ef6ff86d0ca27774778d84410353789fb0fieldinginstall: $(INSTALL_DEPS)
893328ef6ff86d0ca27774778d84410353789fb0fielding
893328ef6ff86d0ca27774778d84410353789fb0fielding#
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz# Include common targets.
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz#
893328ef6ff86d0ca27774778d84410353789fb0fieldinginclude $(UTSBASE)/sparc/Makefile.targ
893328ef6ff86d0ca27774778d84410353789fb0fielding
893328ef6ff86d0ca27774778d84410353789fb0fielding#
893328ef6ff86d0ca27774778d84410353789fb0fielding# Defines for local commands.
893328ef6ff86d0ca27774778d84410353789fb0fielding#
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantzWARLOCK = warlock
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantzWLCC = wlcc
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantzTOUCH = touch
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantzTEST = test
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz#
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz# lock_lint rules
893328ef6ff86d0ca27774778d84410353789fb0fielding#
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantzSCSI_FILES = $(SCSI_OBJS:%.o= -l ../scsi/%.ll)
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantzwarlock: $(WARLOCK_OK)
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz$(WARLOCK_OK): $(WARLOCK_OUT) $(WLCMD_DIR)/fas.wlcmd warlock_ddi.files \
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz scsi.files
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz $(WARLOCK) -c $(WLCMD_DIR)/fas.wlcmd $(WARLOCK_OUT) \
893328ef6ff86d0ca27774778d84410353789fb0fielding ../warlock/scsi.ll \
1e5333ef1a0edb888d75c0cdd90b33fa7e89fc31wsanchez -l ../warlock/ddi_dki_impl.ll \
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz $(SCSI_FILES)
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz $(TOUCH) $@
99d360dcbb5ac2be27694be74cc6124dbadf3315jerenkrantz
1e5333ef1a0edb888d75c0cdd90b33fa7e89fc31wsanchez%.ll: $(UTSBASE)/sun/io/scsi/adapters/%.c
1d13cbde60ace1b56ca57b9f0f74168bb1288174trawick $(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
1d13cbde60ace1b56ca57b9f0f74168bb1288174trawick
80b1e2ff2e3515fdab14675684b2640ceb6ce1c7trawickwarlock_ddi.files:
1d13cbde60ace1b56ca57b9f0f74168bb1288174trawick @cd ../warlock; pwd; $(MAKE) warlock
9045837071eae7a4b55204a21f31ccee17749af3jerenkrantz
ab44eb80e084a02a66a58336d6fcfbbe48310439trawickscsi.files:
ab44eb80e084a02a66a58336d6fcfbbe48310439trawick @cd ../scsi; pwd; $(MAKE) warlock
9045837071eae7a4b55204a21f31ccee17749af3jerenkrantz