Makefile revision 8347601bcb0a439f6e50fc36b4039a73d08700e1
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# CDDL HEADER START
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# The contents of this file are subject to the terms of the
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# Common Development and Distribution License (the "License").
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# You may not use this file except in compliance with the License.
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# or http://www.opensolaris.org/os/licensing.
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# See the License for the specific language governing permissions
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# and limitations under the License.
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# When distributing Covered Code, include this CDDL HEADER in each
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# If applicable, add the following below this CDDL HEADER, with the
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# fields enclosed by brackets "[]" replaced with your own identifying
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# information: Portions Copyright [yyyy] [name of copyright owner]
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# CDDL HEADER END
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# Use is subject to license terms.
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# ident "%Z%%M% %I% %E% SMI"
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# This makefile drives the production of the Neterion Xframe
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# 10G Ethernet (XGE) driver module in x86 systems
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# Paths to the base of the uts directory trees
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsyncUTSBASE = ../..
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# Define the module and object file sets.
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsyncMODULE = xge
412ad5bac323727b4073056113e1d8e0faf60db3vboxsyncOBJECTS = $(XGE_HAL_OBJS:%=$(OBJS_DIR)/%) $(XGE_OBJS:%=$(OBJS_DIR)/%)
412ad5bac323727b4073056113e1d8e0faf60db3vboxsyncLINTS = $(XGE_HAL_OBJS:%.o=$(LINTS_DIR)/%.ln) $(XGE_OBJS:%.o=$(LINTS_DIR)/%.ln)
412ad5bac323727b4073056113e1d8e0faf60db3vboxsyncROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# Include common rules.
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsyncinclude $(UTSBASE)/sparc/Makefile.sparc
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# Define targets
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsyncALL_TARGET = $(BINARY)
fc85d12482b4d79dd2dfd0989b9730433c7a45cbvboxsyncLINT_TARGET = $(MODULE).lint
412ad5bac323727b4073056113e1d8e0faf60db3vboxsyncINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# GENERAL PURPOUSE HAL FLAGS: Tuning HAL for Solaris specific modes
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsyncHAL_CFLAGS = -DXGE_HAL_USE_MGMT_AUX
fc85d12482b4d79dd2dfd0989b9730433c7a45cbvboxsync
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# TRACE SECTION: Possible values for MODULE, TRACE and ERR masks:
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync#
412ad5bac323727b4073056113e1d8e0faf60db3vboxsync# XGE_COMPONENT_HAL_CONFIG 0x1
# XGE_COMPONENT_HAL_FIFO 0x2
# XGE_COMPONENT_HAL_RING 0x4
# XGE_COMPONENT_HAL_CHANNEL 0x8
# XGE_COMPONENT_HAL_DEVICE 0x10
# XGE_COMPONENT_HAL_MM 0x20
# XGE_COMPONENT_HAL_QUEUE 0x40
# XGE_COMPONENT_HAL_STATS 0x100
# XGE_COMPONENT_OSDEP 0x1000
# XGE_COMPONENT_LL 0x2000
# XGE_COMPONENT_TOE 0x4000
# XGE_COMPONENT_RDMA 0x8000
# XGE_COMPONENT_ALL 0xffffffff
#TRACE_CFLAGS = -DXGE_DEBUG_MODULE_MASK=0xffffffff \
# -DXGE_DEBUG_TRACE_MASK=0xffffffff \
# -DXGE_DEBUG_ERR_MASK=0xffffffff
TRACE_CFLAGS = -DXGE_DEBUG_MODULE_MASK=0x00003010 \
-DXGE_DEBUG_TRACE_MASK=0x00000000 \
-DXGE_DEBUG_ERR_MASK=0x00003010
XGE_CFLAGS = $(HAL_CFLAGS) $(TRACE_CFLAGS) $(CCVERBOSE) \
-I$(UTSBASE)/common/io/xge/hal/include \
-I$(UTSBASE)/common/io/xge/hal/xgehal \
-I$(UTSBASE)/common/io/xge/drv -DSOLARIS
CFLAGS += $(XGE_CFLAGS) -xO4 -xcrossfile -xc99=%all
CFLAGS64 += $(XGE_CFLAGS) -xO4 -xcrossfile -xc99=%all
#
# Driver depends on MAC & IP
#
LDFLAGS += -dy -N misc/mac -N drv/ip
# Lint flag
#
LINTFLAGS += $(XGE_CFLAGS) -Xc99=%all
#
# For now, disable these lint checks; maintainers should endeavor
# to investigate and remove these for maximum lint coverage.
# Please do not carry these forward to new Makefiles.
#
LINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
LINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
LINTTAGS += -erroff=E_STATIC_UNUSED
#
#
# 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 $(UTSBASE)/sparc/Makefile.targ