xref: /titanic_44/usr/src/uts/intel/qlc/Makefile (revision 7014882c6a3672fd0e5d60200af8643ae53c5928)
1fcf3ce44SJohn Forte#
2fcf3ce44SJohn Forte# CDDL HEADER START
3fcf3ce44SJohn Forte#
4fcf3ce44SJohn Forte# The contents of this file are subject to the terms of the
5fcf3ce44SJohn Forte# Common Development and Distribution License (the "License").
6fcf3ce44SJohn Forte# You may not use this file except in compliance with the License.
7fcf3ce44SJohn Forte#
8fcf3ce44SJohn Forte# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9fcf3ce44SJohn Forte# or http://www.opensolaris.org/os/licensing.
10fcf3ce44SJohn Forte# See the License for the specific language governing permissions
11fcf3ce44SJohn Forte# and limitations under the License.
12fcf3ce44SJohn Forte#
13fcf3ce44SJohn Forte# When distributing Covered Code, include this CDDL HEADER in each
14fcf3ce44SJohn Forte# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15fcf3ce44SJohn Forte# If applicable, add the following below this CDDL HEADER, with the
16fcf3ce44SJohn Forte# fields enclosed by brackets "[]" replaced with your own identifying
17fcf3ce44SJohn Forte# information: Portions Copyright [yyyy] [name of copyright owner]
18fcf3ce44SJohn Forte#
19fcf3ce44SJohn Forte# CDDL HEADER END
20fcf3ce44SJohn Forte#
21fcf3ce44SJohn Forte#
2216dd44c2SDaniel Beauregard# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
23fcf3ce44SJohn Forte# Use is subject to license terms.
24fcf3ce44SJohn Forte#
2593c20f26SSukumar Swaminathan# This makefile drives the production of qlc driver kernel module.
26fcf3ce44SJohn Forte#
27fcf3ce44SJohn Forte# Path to the base of the uts directory tree (usually /usr/src/uts).
28fcf3ce44SJohn Forte#
29fcf3ce44SJohn ForteUTSBASE	= ../..
30fcf3ce44SJohn Forte
31fcf3ce44SJohn Forte#
32fcf3ce44SJohn Forte#	Define the module and object file sets.
33fcf3ce44SJohn Forte#
34fcf3ce44SJohn ForteMODULE		= qlc
35fcf3ce44SJohn ForteOBJECTS		= $(QLC_OBJS:%=$(OBJS_DIR)/%)
36fcf3ce44SJohn ForteLINTS		= $(QLC_OBJS:%.o=$(LINTS_DIR)/%.ln)
37fcf3ce44SJohn ForteROOTMODULE	= $(ROOT_DRV_DIR)/$(MODULE)
38fcf3ce44SJohn ForteCONF_SRCDIR	= $(UTSBASE)/common/io/fibre-channel/fca/qlc
39fcf3ce44SJohn Forte
40fcf3ce44SJohn Forte#
41fcf3ce44SJohn Forte#	Include common rules.
42fcf3ce44SJohn Forte#
43fcf3ce44SJohn Forteinclude $(UTSBASE)/Makefile.uts
44fcf3ce44SJohn Forteinclude $(UTSBASE)/intel/Makefile.intel
45fcf3ce44SJohn Forte
46fcf3ce44SJohn Forte#
47fcf3ce44SJohn Forte#	Define targets
48fcf3ce44SJohn Forte#
49fcf3ce44SJohn ForteALL_TARGET	= $(BINARY) $(CONFMOD) $(ITUMOD)
50fcf3ce44SJohn ForteLINT_TARGET	= $(MODULE).lint
51fcf3ce44SJohn ForteINSTALL_TARGET	= $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
52fcf3ce44SJohn Forte
53fcf3ce44SJohn Forte#
54fcf3ce44SJohn Forte#	header file directories
55fcf3ce44SJohn Forte#
56fcf3ce44SJohn ForteINC_PATH	+= -I$(ROOT)/usr/include
57fcf3ce44SJohn ForteINC_PATH	+= -I$(UTSBASE)/common/sys/fibre-channel
58fcf3ce44SJohn ForteINC_PATH	+= -I$(UTSBASE)/common/sys/fibre-channel/ulp
5993c20f26SSukumar SwaminathanINC_PATH	+= -I$(UTSBASE)/common/sys/fibre-channel/fca/qlc
60fcf3ce44SJohn ForteINC_PATH	+= -I$(UTSBASE)/common/sys/fibre-channel/impl
61fcf3ce44SJohn Forte
62fcf3ce44SJohn ForteLDFLAGS		+= -dy -Nmisc/fctl
63fcf3ce44SJohn Forte
64fcf3ce44SJohn Forte#
65fcf3ce44SJohn Forte#	Lint tags
66fcf3ce44SJohn Forte#
67fcf3ce44SJohn ForteLINTTAGS	+= -erroff=E_BAD_PTR_CAST_ALIGN
68fcf3ce44SJohn ForteLINTTAGS	+= -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
69fcf3ce44SJohn Forte
70fcf3ce44SJohn ForteFWTABLE          = ql_fw_table.c
71fcf3ce44SJohn ForteFWIMAGES         = 2200
72fcf3ce44SJohn ForteFWIMAGES        += 2300
73fcf3ce44SJohn ForteFWIMAGES        += 2400
74fcf3ce44SJohn ForteFWIMAGES        += 2500
75fcf3ce44SJohn ForteFWIMAGES        += 6322
765dfd244aSDaniel BeauregardFWIMAGES        += 8100
77fcf3ce44SJohn Forte
78fcf3ce44SJohn ForteFWMODULES        = $(FWIMAGES:%=$(MODULE)_fw_%)
79fcf3ce44SJohn ForteFWMODULES_SRC    = $(FWIMAGES:%=$(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_%.c)
80fcf3ce44SJohn Forte
81*7014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-uninitialized
82*7014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-type-limits
83*7014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-parentheses
84*7014882cSRichard Lowe
85fcf3ce44SJohn Forte#
86fcf3ce44SJohn Forte#	Default build targets.
87fcf3ce44SJohn Forte#
88fcf3ce44SJohn Forte.KEEP_STATE:
89fcf3ce44SJohn Forte
90fcf3ce44SJohn Forteall:		$(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(ALL_DEPS)
91fcf3ce44SJohn Forte
92fcf3ce44SJohn Fortedef:		$(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(DEF_DEPS)
93fcf3ce44SJohn Forte
94fcf3ce44SJohn Forteclean:		$(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(CLEAN_DEPS)
95fcf3ce44SJohn Forte
96fcf3ce44SJohn Forteclobber:	$(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(CLOBBER_DEPS)
97fcf3ce44SJohn Forte
98fcf3ce44SJohn Fortelint:		$(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(LINT_DEPS)
99fcf3ce44SJohn Forte
100fcf3ce44SJohn Fortemodlintlib:	$(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(MODLINTLIB_DEPS)
101fcf3ce44SJohn Forte
102fcf3ce44SJohn Forteclean.lint:	$(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(CLEAN_LINT_DEPS)
103fcf3ce44SJohn Forte
104fcf3ce44SJohn Forteinstall:	$(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c $(INSTALL_DEPS)
105fcf3ce44SJohn Forte
106fcf3ce44SJohn Forte$(SRC)/uts/common/io/fibre-channel/fca/qlc/ql_fw_table.c: $(FWMODULES_SRC)
107fcf3ce44SJohn Forte	/usr/bin/rm -f $@
108fcf3ce44SJohn Forte	echo '#include <ql_apps.h>'             >> $@
109fcf3ce44SJohn Forte	echo '#include <ql_api.h>'              >> $@
110fcf3ce44SJohn Forte	echo 'struct fw_table fw_table[] = {'   >> $@
111fcf3ce44SJohn Forte	grep FW_VERSION_STRING $(FWMODULES_SRC) |\
112fcf3ce44SJohn Forte	grep '#define'                          |\
113fcf3ce44SJohn Forte	sed 's/[0-9]"/& },/'                    |\
114fcf3ce44SJohn Forte	sed 's/.*ql_fw_/{ 0x/'                  |\
115fcf3ce44SJohn Forte	sed 's/.c:#define/,/'                   |\
116fcf3ce44SJohn Forte	sed 's/FW_VERSION_STRING//'             >> $@
11716dd44c2SDaniel Beauregard	echo '{ 0, NULL }'                      >> $@
118fcf3ce44SJohn Forte	echo '};'                               >> $@
119fcf3ce44SJohn Forte
120fcf3ce44SJohn Forte#
121fcf3ce44SJohn Forte#	Include common targets.
122fcf3ce44SJohn Forte#
123fcf3ce44SJohn Forteinclude $(UTSBASE)/intel/Makefile.targ
124