1# 2# CDDL HEADER START 3# 4# The contents of this file are subject to the terms of the 5# Common Development and Distribution License (the "License"). 6# You may not use this file except in compliance with the License. 7# 8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9# or http://www.opensolaris.org/os/licensing. 10# See the License for the specific language governing permissions 11# and limitations under the License. 12# 13# When distributing Covered Code, include this CDDL HEADER in each 14# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15# If applicable, add the following below this CDDL HEADER, with the 16# fields enclosed by brackets "[]" replaced with your own identifying 17# information: Portions Copyright [yyyy] [name of copyright owner] 18# 19# CDDL HEADER END 20# 21 22# 23# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 24# Use is subject to license terms. 25# 26# This makefile drives the production of the Neterion Xframe 27# 10G Ethernet (XGE) driver module in x86 systems 28# 29 30# 31# Paths to the base of the uts directory trees 32# 33UTSBASE = ../.. 34 35# 36# Define the module and object file sets. 37# 38MODULE = xge 39OBJECTS = $(XGE_HAL_OBJS:%=$(OBJS_DIR)/%) $(XGE_OBJS:%=$(OBJS_DIR)/%) 40LINTS = $(XGE_HAL_OBJS:%.o=$(LINTS_DIR)/%.ln) $(XGE_OBJS:%.o=$(LINTS_DIR)/%.ln) 41ROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE) 42 43# 44# Include common rules. 45# 46include $(UTSBASE)/intel/Makefile.intel 47 48# 49# Define targets 50# 51ALL_TARGET = $(BINARY) 52LINT_TARGET = $(MODULE).lint 53INSTALL_TARGET = $(BINARY) $(ROOTMODULE) 54 55# 56# GENERAL PURPOUSE HAL FLAGS: Tuning HAL for Solaris specific modes 57# 58HAL_CFLAGS = -DXGE_HAL_USE_MGMT_AUX 59 60# 61# TRACE SECTION: Possible values for MODULE, TRACE and ERR masks: 62# 63# XGE_COMPONENT_HAL_CONFIG 0x1 64# XGE_COMPONENT_HAL_FIFO 0x2 65# XGE_COMPONENT_HAL_RING 0x4 66# XGE_COMPONENT_HAL_CHANNEL 0x8 67# XGE_COMPONENT_HAL_DEVICE 0x10 68# XGE_COMPONENT_HAL_MM 0x20 69# XGE_COMPONENT_HAL_QUEUE 0x40 70# XGE_COMPONENT_HAL_STATS 0x100 71# XGE_COMPONENT_OSDEP 0x1000 72# XGE_COMPONENT_LL 0x2000 73# XGE_COMPONENT_TOE 0x4000 74# XGE_COMPONENT_RDMA 0x8000 75# XGE_COMPONENT_ALL 0xffffffff 76#TRACE_CFLAGS = -DXGE_DEBUG_MODULE_MASK=0xffffffff \ 77# -DXGE_DEBUG_TRACE_MASK=0xffffffff \ 78# -DXGE_DEBUG_ERR_MASK=0xffffffff 79TRACE_CFLAGS = -DXGE_DEBUG_MODULE_MASK=0x00003010 \ 80 -DXGE_DEBUG_TRACE_MASK=0x00000000 \ 81 -DXGE_DEBUG_ERR_MASK=0x00003010 82 83XGE_CFLAGS = $(HAL_CFLAGS) $(TRACE_CFLAGS) $(CCVERBOSE) \ 84 -I$(UTSBASE)/common/io/xge/hal/include \ 85 -I$(UTSBASE)/common/io/xge/hal/xgehal \ 86 -I$(UTSBASE)/common/io/xge/drv -DSOLARIS 87 88CFLAGS += $(XGE_CFLAGS) -xO4 -xcrossfile -xc99=%all 89CFLAGS64 += $(XGE_CFLAGS) -xO4 -xcrossfile -xc99=%all 90 91# 92# Driver depends on MAC & IP 93# 94LDFLAGS += -dy -N misc/mac -N drv/ip 95 96# Lint flag 97# 98LINTFLAGS += $(XGE_CFLAGS) -Xc99=%all 99 100# 101# For now, disable these lint checks; maintainers should endeavor 102# to investigate and remove these for maximum lint coverage. 103# Please do not carry these forward to new Makefiles. 104# 105LINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN 106LINTTAGS += -erroff=E_STATIC_UNUSED 107LINTTAGS += -erroff=E_PTRDIFF_OVERFLOW 108 109CERRWARN += -_gcc=-Wno-parentheses 110CERRWARN += -_gcc=-Wno-unused-variable 111CERRWARN += -_gcc=-Wno-unused-label 112CERRWARN += -_gcc=-Wno-empty-body 113CERRWARN += -_gcc=-Wno-uninitialized 114 115# 116# 117# Default build targets. 118# 119.KEEP_STATE: 120 121def: $(DEF_DEPS) 122 123all: $(ALL_DEPS) 124 125clean: $(CLEAN_DEPS) 126 127clobber: $(CLOBBER_DEPS) 128 129lint: $(LINT_DEPS) 130 131modlintlib: $(MODLINTLIB_DEPS) 132 133clean.lint: $(CLEAN_LINT_DEPS) 134 135install: $(INSTALL_DEPS) 136 137# 138# Include common targets. 139# 140include $(UTSBASE)/intel/Makefile.targ 141