Makefile revision 5dfd244acc8f144280c5bc8f69ed941185fc3ccc
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User# CDDL HEADER START
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The contents of this file are subject to the terms of the
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater# Common Development and Distribution License (the "License").
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You may not use this file except in compliance with the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# 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.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# When distributing Covered Code, include this CDDL HEADER in each
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# 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
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# information: Portions Copyright [yyyy] [name of copyright owner]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER END
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User#
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Use is subject to license terms.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User# This makefile drives the production of qlc driver kernel module.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Path to the base of the uts directory tree (usually /usr/src/uts).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinUTSBASE = ../..
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Define the module and object file sets.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinMODULE = qlc
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsOBJECTS = $(QLC_OBJS:%=$(OBJS_DIR)/%)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsLINTS = $(QLC_OBJS:%.o=$(LINTS_DIR)/%.ln)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONF_SRCDIR = $(UTSBASE)/common/io/fibre-channel/fca/qlc
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# Include common rules.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User#
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userinclude $(UTSBASE)/Makefile.uts
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntinclude $(UTSBASE)/sparc/Makefile.sparc
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User#
46472a450e043434d78fa18edc73bca8c47f3981Tinderbox User# Define targets
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntALL_TARGET = $(BINARY) $(CONFMOD) $(ITUMOD)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntLINT_TARGET = $(MODULE).lint
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# header file directories
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntINC_PATH += -I$(ROOT)/usr/include
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntINC_PATH += -I$(UTSBASE)/common/sys/fibre-channel
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntINC_PATH += -I$(UTSBASE)/common/sys/fibre-channel/ulp
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntINC_PATH += -I$(UTSBASE)/common/sys/fibre-channel/fca/qlc
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinINC_PATH += -I$(UTSBASE)/common/sys/fibre-channel/impl
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
f9ce6280cec79deb16ff6d9807aa493ff23e10d9Tinderbox UserLDFLAGS += -dy -Nmisc/fctl
46472a450e043434d78fa18edc73bca8c47f3981Tinderbox User
f9ce6280cec79deb16ff6d9807aa493ff23e10d9Tinderbox User#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# Lint tags
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
46472a450e043434d78fa18edc73bca8c47f3981Tinderbox UserLINTTAGS += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
46472a450e043434d78fa18edc73bca8c47f3981Tinderbox User
e285c11870c6263cd79b418e104c7eb3e2d96952Tinderbox UserFWTABLE = ql_fw_table.c
46472a450e043434d78fa18edc73bca8c47f3981Tinderbox UserFWIMAGES = 2200
46472a450e043434d78fa18edc73bca8c47f3981Tinderbox UserFWIMAGES += 2300
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntFWIMAGES += 2400
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserFWIMAGES += 2500
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserFWIMAGES += 6322
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntFWIMAGES += 8100
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserFWMODULES = $(FWIMAGES:%=$(MODULE)_fw_%)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntFWMODULES_SRC = $(FWIMAGES:%=$(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_%.c)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# Default build targets.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt.KEEP_STATE:
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userall: $(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(ALL_DEPS)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntdef: $(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(DEF_DEPS)
6b7cba2b10d6cb5363d94b434b0d22ecfb33a6f3Tinderbox User
6b7cba2b10d6cb5363d94b434b0d22ecfb33a6f3Tinderbox Userclean: $(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(CLEAN_DEPS)
6b7cba2b10d6cb5363d94b434b0d22ecfb33a6f3Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userclobber: $(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(CLOBBER_DEPS)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntlint: $(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(LINT_DEPS)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Usermodlintlib: $(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(MODLINTLIB_DEPS)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userclean.lint: $(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(CLEAN_LINT_DEPS)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntinstall: $(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(INSTALL_DEPS)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt$(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c: $(FWMODULES_SRC)
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt /usr/bin/rm -f $@
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User echo '#include <ql_apps.h>' >> $@
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt echo '#include <ql_api.h>' >> $@
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt echo 'struct fw_table fw_table[] = {' >> $@
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt grep FW_VERSION_STRING $(FWMODULES_SRC) |\
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt grep '#define' |\
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt sed 's/[0-9]"/& },/' |\
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt sed 's/.*ql_fw_/{ 0x/' |\
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt sed 's/.c:#define/,/' |\
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User sed 's/FW_VERSION_STRING//' >> $@
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt echo '{ 0, NULL }' >> $@
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt echo '};' >> $@
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# Include common targets.
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt#
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userinclude $(UTSBASE)/sparc/Makefile.targ
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt