98N/A#
98N/A# CDDL HEADER START
98N/A#
98N/A# The contents of this file are subject to the terms of the
98N/A# Common Development and Distribution License (the "License").
98N/A# You may not use this file except in compliance with the License.
98N/A#
98N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
98N/A# or http://www.opensolaris.org/os/licensing.
98N/A# See the License for the specific language governing permissions
98N/A# and limitations under the License.
98N/A#
98N/A# When distributing Covered Code, include this CDDL HEADER in each
98N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
98N/A# If applicable, add the following below this CDDL HEADER, with the
98N/A# fields enclosed by brackets "[]" replaced with your own identifying
98N/A# information: Portions Copyright [yyyy] [name of copyright owner]
98N/A#
98N/A# CDDL HEADER END
98N/A#
98N/A#
98N/A# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
98N/A# Use is subject to license terms.
98N/A# Copyright (c) 2011 Bayard G. Bell. All rights reserved.
98N/A#
98N/A# This makefile drives the production of the emlxs driver kernel module.
98N/A#
98N/A# Path to the base of the uts directory tree (usually /usr/src/uts).
98N/A#
98N/AUTSBASE = ../../
179N/ACOMMON_BASE = ../../../common
98N/A
98N/A#
98N/A# Define the module and object file sets.
98N/A#
98N/AMODULE = emlxs
98N/AOBJECTS = $(EMLXS_OBJS:%=$(OBJS_DIR)/%)
98N/ALINTS = $(EMLXS_OBJS:%.o=$(LINTS_DIR)/%.ln)
98N/AROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
98N/ACONF_SRCDIR = $(UTSBASE)/common/io/fibre-channel/fca/emlxs
98N/A
98N/A#
98N/A# Include common rules.
98N/A#
151N/AARCHDIR = sparc
137N/Ainclude ../Makefile.$(ARCHDIR)
153N/A
98N/A#
179N/A# Define targets
126N/A#
98N/AALL_TARGET = $(BINARY) $(SRC_CONFILE)
98N/ALINT_TARGET = $(MODULE).lint
98N/AINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
123N/A
98N/AEMLXS_FLAGS = -DEMLXS_SPARC
98N/AEMLXS_FLAGS += -DS11
98N/AEMLXS_FLAGS += -DVERSION=\"11\"
98N/AEMLXS_FLAGS += -DMACH=\"$(MACH)\"
98N/AEMLXS_CFLAGS = $(EMLXS_FLAGS)
98N/AEMLXS_LFLAGS = $(EMLXS_FLAGS)
98N/ACFLAGS += $(EMLXS_CFLAGS) -DEMLXS_ARCH=\"64\"
98N/ALINTTAGS += $(EMLXS_LFLAGS) -DEMLXS_ARCH=\"64\"
98N/A
98N/A
98N/A#
98N/A# Overrides and depends_on
156N/A#
156N/AINC_PATH += -I$(ROOT)/usr/include
98N/AINC_PATH += -I$(UTSBASE)/common/sys
98N/AINC_PATH += -I$(COMMON_BASE)/bignum
98N/AINC_PATH += -I$(UTSBASE)/common/sys/fibre-channel
98N/AINC_PATH += -I$(UTSBASE)/common/sys/fibre-channel/fca
98N/AINC_PATH += -I$(UTSBASE)/common/sys/fibre-channel/fca/emlxs
98N/AINC_PATH += -I$(UTSBASE)/common/sys/fibre-channel/impl
98N/AINC_PATH += -I$(UTSBASE)/common/sys/fibre-channel/ulp
98N/A
98N/ALDFLAGS += -dy -Nmisc/md5 -Nmisc/sha1
98N/ALDFLAGS += -Nmisc/bignum -Nmisc/fctl
98N/A
98N/A#
98N/A# For now, disable these lint checks; maintainers should endeavor
98N/A# to investigate and remove these for maximum lint coverage.
98N/A#
98N/ALINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
98N/ALINTTAGS += -erroff=E_STATIC_UNUSED
98N/ALINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
98N/ALINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
98N/ALINTTAGS += -erroff=E_INCONS_VAL_TYPE_DECL2
98N/A
98N/ACERRWARN += -_gcc=-Wno-parentheses
CERRWARN += -_gcc=-Wno-unused-label
CERRWARN += -_gcc=-Wno-uninitialized
#
# Default build targets.
#
.KEEP_STATE:
def: $(DEF_DEPS)
all: $(ALL_DEPS)
clean: $(CLEAN_DEPS)
clobber: $(CLOBBER_DEPS)
lint: $(LINT_DEPS)
modlintlib: $(MODLINTLIB_DEPS)
clean.lint: $(CLEAN_LINT_DEPS)
install: $(INSTALL_DEPS)
#
# Include common targets.
#
include ../Makefile.targ