Makefile revision 93c20f2609342fd05f6625f16dfcb9348e7977f2
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# CDDL HEADER START
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# The contents of this file are subject to the terms of the
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# Common Development and Distribution License (the "License").
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# You may not use this file except in compliance with the License.
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt# or http://www.opensolaris.org/os/licensing.
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt# See the License for the specific language governing permissions
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt# and limitations under the License.
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt# When distributing Covered Code, include this CDDL HEADER in each
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt# If applicable, add the following below this CDDL HEADER, with the
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt# fields enclosed by brackets "[]" replaced with your own identifying
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt# information: Portions Copyright [yyyy] [name of copyright owner]
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt# CDDL HEADER END
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
c40906dfad6dd6e3a3e3c94b8c8847bc9bc064e5Mark Andrews# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
c40906dfad6dd6e3a3e3c94b8c8847bc9bc064e5Mark Andrews# Use is subject to license terms.
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt# This makefile drives the production of qlc driver kernel module.
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt# Path to the base of the uts directory tree (usually /usr/src/uts).
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
188690149b54145e1936898e565eb9eec139bbfeEvan HuntUTSBASE = ../..
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt
c40906dfad6dd6e3a3e3c94b8c8847bc9bc064e5Mark Andrews#
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt# Define the module and object file sets.
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
188690149b54145e1936898e565eb9eec139bbfeEvan HuntMODULE = qlc
188690149b54145e1936898e565eb9eec139bbfeEvan HuntOBJECTS = $(QLC_OBJS:%=$(OBJS_DIR)/%)
188690149b54145e1936898e565eb9eec139bbfeEvan HuntLINTS = $(QLC_OBJS:%.o=$(LINTS_DIR)/%.ln)
188690149b54145e1936898e565eb9eec139bbfeEvan HuntROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
188690149b54145e1936898e565eb9eec139bbfeEvan HuntCONF_SRCDIR = $(UTSBASE)/common/io/fibre-channel/fca/qlc
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt# Include common rules.
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
188690149b54145e1936898e565eb9eec139bbfeEvan Huntinclude $(UTSBASE)/Makefile.uts
188690149b54145e1936898e565eb9eec139bbfeEvan Huntinclude $(UTSBASE)/intel/Makefile.intel
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt# Define targets
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
188690149b54145e1936898e565eb9eec139bbfeEvan HuntALL_TARGET = $(BINARY) $(CONFMOD) $(ITUMOD)
188690149b54145e1936898e565eb9eec139bbfeEvan HuntLINT_TARGET = $(MODULE).lint
188690149b54145e1936898e565eb9eec139bbfeEvan HuntINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt# header file directories
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
188690149b54145e1936898e565eb9eec139bbfeEvan HuntINC_PATH += -I$(ROOT)/usr/include
188690149b54145e1936898e565eb9eec139bbfeEvan HuntINC_PATH += -I$(UTSBASE)/common/sys/fibre-channel
188690149b54145e1936898e565eb9eec139bbfeEvan HuntINC_PATH += -I$(UTSBASE)/common/sys/fibre-channel/ulp
188690149b54145e1936898e565eb9eec139bbfeEvan HuntINC_PATH += -I$(UTSBASE)/common/sys/fibre-channel/fca/qlc
188690149b54145e1936898e565eb9eec139bbfeEvan HuntINC_PATH += -I$(UTSBASE)/common/sys/fibre-channel/impl
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt
188690149b54145e1936898e565eb9eec139bbfeEvan HuntLDFLAGS += -dy -Nmisc/fctl
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt# Lint tags
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
188690149b54145e1936898e565eb9eec139bbfeEvan HuntLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
188690149b54145e1936898e565eb9eec139bbfeEvan HuntLINTTAGS += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt
188690149b54145e1936898e565eb9eec139bbfeEvan HuntFWTABLE = ql_fw_table.c
188690149b54145e1936898e565eb9eec139bbfeEvan HuntFWIMAGES = 2200
188690149b54145e1936898e565eb9eec139bbfeEvan HuntFWIMAGES += 2300
188690149b54145e1936898e565eb9eec139bbfeEvan HuntFWIMAGES += 2400
188690149b54145e1936898e565eb9eec139bbfeEvan HuntFWIMAGES += 2500
188690149b54145e1936898e565eb9eec139bbfeEvan HuntFWIMAGES += 6322
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt
188690149b54145e1936898e565eb9eec139bbfeEvan HuntFWMODULES = $(FWIMAGES:%=$(MODULE)_fw_%)
188690149b54145e1936898e565eb9eec139bbfeEvan HuntFWMODULES_SRC = $(FWIMAGES:%=$(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_%.c)
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt# Default build targets.
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt#
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt.KEEP_STATE:
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt
c40906dfad6dd6e3a3e3c94b8c8847bc9bc064e5Mark Andrewsall: $(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(ALL_DEPS)
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt
188690149b54145e1936898e565eb9eec139bbfeEvan Huntdef: $(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(DEF_DEPS)
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt
188690149b54145e1936898e565eb9eec139bbfeEvan Huntclean: $(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(CLEAN_DEPS)
188690149b54145e1936898e565eb9eec139bbfeEvan Hunt
188690149b54145e1936898e565eb9eec139bbfeEvan Huntclobber: $(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(CLOBBER_DEPS)
lint: $(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(LINT_DEPS)
modlintlib: $(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(MODLINTLIB_DEPS)
clean.lint: $(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(CLEAN_LINT_DEPS)
install: $(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(INSTALL_DEPS)
$(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c: $(FWMODULES_SRC)
/usr/bin/rm -f $@
echo '#include <ql_apps.h>' >> $@
echo '#include <ql_api.h>' >> $@
echo 'struct fw_table fw_table[] = {' >> $@
grep FW_VERSION_STRING $(FWMODULES_SRC) |\
grep '#define' |\
sed 's/[0-9]"/& },/' |\
sed 's/.*ql_fw_/{ 0x/' |\
sed 's/.c:#define/,/' |\
sed 's/FW_VERSION_STRING//' >> $@
echo '};' >> $@
#
# Include common targets.
#
include $(UTSBASE)/intel/Makefile.targ