Makefile revision 8347601bcb0a439f6e50fc36b4039a73d08700e1
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl# CDDL HEADER START
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl# The contents of this file are subject to the terms of the
a23fd118e437af0a7877dd313db8fdaa3537c675yl# Common Development and Distribution License (the "License").
a23fd118e437af0a7877dd313db8fdaa3537c675yl# You may not use this file except in compliance with the License.
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
a23fd118e437af0a7877dd313db8fdaa3537c675yl# or http://www.opensolaris.org/os/licensing.
a23fd118e437af0a7877dd313db8fdaa3537c675yl# See the License for the specific language governing permissions
a23fd118e437af0a7877dd313db8fdaa3537c675yl# and limitations under the License.
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl# When distributing Covered Code, include this CDDL HEADER in each
a23fd118e437af0a7877dd313db8fdaa3537c675yl# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
a23fd118e437af0a7877dd313db8fdaa3537c675yl# If applicable, add the following below this CDDL HEADER, with the
a23fd118e437af0a7877dd313db8fdaa3537c675yl# fields enclosed by brackets "[]" replaced with your own identifying
a23fd118e437af0a7877dd313db8fdaa3537c675yl# information: Portions Copyright [yyyy] [name of copyright owner]
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl# CDDL HEADER END
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
a23fd118e437af0a7877dd313db8fdaa3537c675yl# Use is subject to license terms.
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl# ident "%Z%%M% %I% %E% SMI"
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl# This makefile drives the production of the Neterion Xframe
a23fd118e437af0a7877dd313db8fdaa3537c675yl# 10G Ethernet (XGE) driver module in x86 systems
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl# Paths to the base of the uts directory trees
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675ylUTSBASE = ../..
a23fd118e437af0a7877dd313db8fdaa3537c675yl
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl# Define the module and object file sets.
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675ylMODULE = xge
a23fd118e437af0a7877dd313db8fdaa3537c675ylOBJECTS = $(XGE_HAL_OBJS:%=$(OBJS_DIR)/%) $(XGE_OBJS:%=$(OBJS_DIR)/%)
a23fd118e437af0a7877dd313db8fdaa3537c675ylLINTS = $(XGE_HAL_OBJS:%.o=$(LINTS_DIR)/%.ln) $(XGE_OBJS:%.o=$(LINTS_DIR)/%.ln)
a23fd118e437af0a7877dd313db8fdaa3537c675ylROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
a23fd118e437af0a7877dd313db8fdaa3537c675yl
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl# Include common rules.
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675ylinclude $(UTSBASE)/intel/Makefile.intel
a23fd118e437af0a7877dd313db8fdaa3537c675yl
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl# Define targets
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675ylALL_TARGET = $(BINARY)
a23fd118e437af0a7877dd313db8fdaa3537c675ylLINT_TARGET = $(MODULE).lint
a23fd118e437af0a7877dd313db8fdaa3537c675ylINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
a23fd118e437af0a7877dd313db8fdaa3537c675yl
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl# GENERAL PURPOUSE HAL FLAGS: Tuning HAL for Solaris specific modes
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675ylHAL_CFLAGS = -DXGE_HAL_USE_MGMT_AUX
a23fd118e437af0a7877dd313db8fdaa3537c675yl
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl# TRACE SECTION: Possible values for MODULE, TRACE and ERR masks:
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl# XGE_COMPONENT_HAL_CONFIG 0x1
a23fd118e437af0a7877dd313db8fdaa3537c675yl# XGE_COMPONENT_HAL_FIFO 0x2
a23fd118e437af0a7877dd313db8fdaa3537c675yl# XGE_COMPONENT_HAL_RING 0x4
a23fd118e437af0a7877dd313db8fdaa3537c675yl# XGE_COMPONENT_HAL_CHANNEL 0x8
a23fd118e437af0a7877dd313db8fdaa3537c675yl# XGE_COMPONENT_HAL_DEVICE 0x10
a23fd118e437af0a7877dd313db8fdaa3537c675yl# XGE_COMPONENT_HAL_MM 0x20
a23fd118e437af0a7877dd313db8fdaa3537c675yl# XGE_COMPONENT_HAL_QUEUE 0x40
a23fd118e437af0a7877dd313db8fdaa3537c675yl# XGE_COMPONENT_HAL_STATS 0x100
a23fd118e437af0a7877dd313db8fdaa3537c675yl# XGE_COMPONENT_OSDEP 0x1000
a23fd118e437af0a7877dd313db8fdaa3537c675yl# XGE_COMPONENT_LL 0x2000
a23fd118e437af0a7877dd313db8fdaa3537c675yl# XGE_COMPONENT_TOE 0x4000
a23fd118e437af0a7877dd313db8fdaa3537c675yl# XGE_COMPONENT_RDMA 0x8000
a23fd118e437af0a7877dd313db8fdaa3537c675yl# XGE_COMPONENT_ALL 0xffffffff
a23fd118e437af0a7877dd313db8fdaa3537c675yl#TRACE_CFLAGS = -DXGE_DEBUG_MODULE_MASK=0xffffffff \
a23fd118e437af0a7877dd313db8fdaa3537c675yl# -DXGE_DEBUG_TRACE_MASK=0xffffffff \
a23fd118e437af0a7877dd313db8fdaa3537c675yl# -DXGE_DEBUG_ERR_MASK=0xffffffff
a23fd118e437af0a7877dd313db8fdaa3537c675ylTRACE_CFLAGS = -DXGE_DEBUG_MODULE_MASK=0x00003010 \
a23fd118e437af0a7877dd313db8fdaa3537c675yl -DXGE_DEBUG_TRACE_MASK=0x00000000 \
a23fd118e437af0a7877dd313db8fdaa3537c675yl -DXGE_DEBUG_ERR_MASK=0x00003010
a23fd118e437af0a7877dd313db8fdaa3537c675yl
8347601bcb0a439f6e50fc36b4039a73d08700e1ylXGE_CFLAGS = $(HAL_CFLAGS) $(TRACE_CFLAGS) $(CCVERBOSE) \
a23fd118e437af0a7877dd313db8fdaa3537c675yl -I$(UTSBASE)/common/io/xge/hal/include \
a23fd118e437af0a7877dd313db8fdaa3537c675yl -I$(UTSBASE)/common/io/xge/hal/xgehal \
a23fd118e437af0a7877dd313db8fdaa3537c675yl -I$(UTSBASE)/common/io/xge/drv -DSOLARIS
a23fd118e437af0a7877dd313db8fdaa3537c675yl
8347601bcb0a439f6e50fc36b4039a73d08700e1ylCFLAGS += $(XGE_CFLAGS) -xO4 -xcrossfile -xc99=%all
8347601bcb0a439f6e50fc36b4039a73d08700e1ylCFLAGS64 += $(XGE_CFLAGS) -xO4 -xcrossfile -xc99=%all
a23fd118e437af0a7877dd313db8fdaa3537c675yl
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl# Driver depends on MAC & IP
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675ylLDFLAGS += -dy -N misc/mac -N drv/ip
a23fd118e437af0a7877dd313db8fdaa3537c675yl
a23fd118e437af0a7877dd313db8fdaa3537c675yl# Lint flag
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
8347601bcb0a439f6e50fc36b4039a73d08700e1ylLINTFLAGS += $(XGE_CFLAGS) -Xc99=%all
a23fd118e437af0a7877dd313db8fdaa3537c675yl
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jg#
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jg# For now, disable these lint checks; maintainers should endeavor
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jg# to investigate and remove these for maximum lint coverage.
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jg# Please do not carry these forward to new Makefiles.
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jg#
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jgLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jgLINTTAGS += -erroff=E_STATIC_UNUSED
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jgLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jg
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl# Default build targets.
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl.KEEP_STATE:
a23fd118e437af0a7877dd313db8fdaa3537c675yl
a23fd118e437af0a7877dd313db8fdaa3537c675yldef: $(DEF_DEPS)
a23fd118e437af0a7877dd313db8fdaa3537c675yl
a23fd118e437af0a7877dd313db8fdaa3537c675ylall: $(ALL_DEPS)
a23fd118e437af0a7877dd313db8fdaa3537c675yl
a23fd118e437af0a7877dd313db8fdaa3537c675ylclean: $(CLEAN_DEPS)
a23fd118e437af0a7877dd313db8fdaa3537c675yl
a23fd118e437af0a7877dd313db8fdaa3537c675ylclobber: $(CLOBBER_DEPS)
a23fd118e437af0a7877dd313db8fdaa3537c675yl
a23fd118e437af0a7877dd313db8fdaa3537c675yllint: $(LINT_DEPS)
a23fd118e437af0a7877dd313db8fdaa3537c675yl
a23fd118e437af0a7877dd313db8fdaa3537c675ylmodlintlib: $(MODLINTLIB_DEPS)
a23fd118e437af0a7877dd313db8fdaa3537c675yl
a23fd118e437af0a7877dd313db8fdaa3537c675ylclean.lint: $(CLEAN_LINT_DEPS)
a23fd118e437af0a7877dd313db8fdaa3537c675yl
a23fd118e437af0a7877dd313db8fdaa3537c675ylinstall: $(INSTALL_DEPS)
a23fd118e437af0a7877dd313db8fdaa3537c675yl
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675yl# Include common targets.
a23fd118e437af0a7877dd313db8fdaa3537c675yl#
a23fd118e437af0a7877dd313db8fdaa3537c675ylinclude $(UTSBASE)/intel/Makefile.targ