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