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