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# 22e2ca2865SSukumar Swaminathan# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23fcf3ce44SJohn Forte# Use is subject to license terms. 2489b43686SBayard Bell# Copyright (c) 2011 Bayard G. Bell. All rights reserved. 25efe51d0cSJohn Levon# Copyright 2019 Joyent, Inc. 26fcf3ce44SJohn Forte# 2793c20f26SSukumar Swaminathan# This makefile drives the production of the emlxs driver kernel module. 28fcf3ce44SJohn Forte# 29fcf3ce44SJohn Forte# Path to the base of the uts directory tree (usually /usr/src/uts). 30fcf3ce44SJohn Forte# 31*d363b1b0SRichard LoweUTSBASE = ../.. 32fcf3ce44SJohn ForteCOMMON_BASE = ../../../common 33fcf3ce44SJohn Forte 34fcf3ce44SJohn Forte# 35fcf3ce44SJohn Forte# Define the module and object file sets. 36fcf3ce44SJohn Forte# 37fcf3ce44SJohn ForteMODULE = emlxs 38fcf3ce44SJohn ForteOBJECTS = $(EMLXS_OBJS:%=$(OBJS_DIR)/%) 39fcf3ce44SJohn ForteROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE) 40fcf3ce44SJohn ForteCONF_SRCDIR = $(UTSBASE)/common/io/fibre-channel/fca/emlxs 41fcf3ce44SJohn Forte 42fcf3ce44SJohn Forte# 43fcf3ce44SJohn Forte# Include common rules. 44fcf3ce44SJohn Forte# 45e2ca2865SSukumar SwaminathanARCHDIR = intel 46fcf3ce44SJohn Forteinclude ../Makefile.$(ARCHDIR) 47fcf3ce44SJohn Forte 48fcf3ce44SJohn Forte# 49fcf3ce44SJohn Forte# Define targets 50fcf3ce44SJohn Forte# 51fcf3ce44SJohn ForteALL_TARGET = $(BINARY) $(SRC_CONFILE) 52fcf3ce44SJohn ForteINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE) 53fcf3ce44SJohn Forte 54fcf3ce44SJohn ForteEMLXS_FLAGS = -DEMLXS_I386 55fcf3ce44SJohn ForteEMLXS_FLAGS += -DS11 56fcf3ce44SJohn ForteEMLXS_FLAGS += -DVERSION=\"11\" 57fcf3ce44SJohn ForteEMLXS_FLAGS += -DMACH=\"$(MACH)\" 58fcf3ce44SJohn ForteEMLXS_CFLAGS = $(EMLXS_FLAGS) 59fcf3ce44SJohn ForteEMLXS_LFLAGS = $(EMLXS_FLAGS) 60fcf3ce44SJohn ForteCFLAGS += $(EMLXS_CFLAGS) -DEMLXS_ARCH=\"$(CLASS)\" 61fcf3ce44SJohn Forte 62fcf3ce44SJohn Forte# 63fcf3ce44SJohn Forte# Overrides and depends_on 64fcf3ce44SJohn Forte# 65fcf3ce44SJohn ForteINC_PATH += -I$(ROOT)/usr/include 66fcf3ce44SJohn ForteINC_PATH += -I$(UTSBASE)/common/sys 67fcf3ce44SJohn ForteINC_PATH += -I$(COMMON_BASE)/bignum 68fcf3ce44SJohn ForteINC_PATH += -I$(UTSBASE)/common/sys/fibre-channel 69fcf3ce44SJohn ForteINC_PATH += -I$(UTSBASE)/common/sys/fibre-channel/fca 7093c20f26SSukumar SwaminathanINC_PATH += -I$(UTSBASE)/common/sys/fibre-channel/fca/emlxs 71fcf3ce44SJohn ForteINC_PATH += -I$(UTSBASE)/common/sys/fibre-channel/impl 72fcf3ce44SJohn ForteINC_PATH += -I$(UTSBASE)/common/sys/fibre-channel/ulp 73fcf3ce44SJohn Forte 7489b43686SBayard Bell# 7589b43686SBayard Bell# misc/fctl required because #ifdef MODSYM_LOAD code 7689b43686SBayard Bell# triggered by -DS11; uses DDI calls to load FCA symbols 7789b43686SBayard Bell# 7882d0151aSRichard LoweLDFLAGS += -Nmisc/md5 -Nmisc/sha1 7989b43686SBayard BellLDFLAGS += -Nmisc/bignum -Nmisc/fctl 80fcf3ce44SJohn Forte 817014882cSRichard LoweCERRWARN += -_gcc=-Wno-parentheses 827014882cSRichard LoweCERRWARN += -_gcc=-Wno-unused-label 83d3b5f563SJohn LevonCERRWARN += $(CNOWARN_UNINIT) 847014882cSRichard Lowe 85efe51d0cSJohn Levon# needs work 86efe51d0cSJohn LevonSMOFF += indenting,deref_check,all_func_returns,index_overflow 87b6b206fcSJohn Levon 88b6b206fcSJohn Levon# seems definitely wrong 89b6b206fcSJohn Levon$(OBJS_DIR)/emlxs_fcf.o := SMOFF += logical_instead_of_bitwise 90b6b206fcSJohn Levon 91fcf3ce44SJohn Forte# 92fcf3ce44SJohn Forte# Default build targets. 93fcf3ce44SJohn Forte# 94fcf3ce44SJohn Forte.KEEP_STATE: 95fcf3ce44SJohn Forte 96fcf3ce44SJohn Fortedef: $(DEF_DEPS) 97fcf3ce44SJohn Forte 98fcf3ce44SJohn Forteall: $(ALL_DEPS) 99fcf3ce44SJohn Forte 100fcf3ce44SJohn Forteclean: $(CLEAN_DEPS) 101fcf3ce44SJohn Forte 102fcf3ce44SJohn Forteclobber: $(CLOBBER_DEPS) 103fcf3ce44SJohn Forte 104fcf3ce44SJohn Forteinstall: $(INSTALL_DEPS) 105fcf3ce44SJohn Forte 106fcf3ce44SJohn Forte# 107fcf3ce44SJohn Forte# Include common targets. 108fcf3ce44SJohn Forte# 109fcf3ce44SJohn Forteinclude ../Makefile.targ 110