xref: /illumos-gate/usr/src/uts/intel/xge/Makefile (revision e7cbe64f7a72dae5cb44f100db60ca88f3313c65)
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 2006 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26# ident	"%Z%%M%	%I%	%E% SMI"
27#
28#	This makefile drives the production of the Neterion Xframe
29#	10G Ethernet (XGE) driver module in x86 systems
30#
31
32#
33#	Paths to the base of the uts directory trees
34#
35UTSBASE   = ../..
36
37#
38#	Define the module and object file sets.
39#
40MODULE		= xge
41OBJECTS		= $(XGE_HAL_OBJS:%=$(OBJS_DIR)/%) $(XGE_OBJS:%=$(OBJS_DIR)/%)
42LINTS		= $(XGE_HAL_OBJS:%.o=$(LINTS_DIR)/%.ln) $(XGE_OBJS:%.o=$(LINTS_DIR)/%.ln)
43ROOTMODULE	= $(ROOT_DRV_DIR)/$(MODULE)
44
45#
46#	Include common rules.
47#
48include $(UTSBASE)/intel/Makefile.intel
49
50#
51#	Define targets
52#
53ALL_TARGET	= $(BINARY)
54LINT_TARGET	= $(MODULE).lint
55INSTALL_TARGET	= $(BINARY) $(ROOTMODULE)
56
57#
58#	GENERAL PURPOUSE HAL FLAGS: Tuning HAL for Solaris specific modes
59#
60HAL_CFLAGS	 = -DXGE_HAL_USE_MGMT_AUX
61
62#
63#	TRACE SECTION: Possible values for MODULE, TRACE and ERR masks:
64#
65# XGE_COMPONENT_HAL_CONFIG		0x1
66# XGE_COMPONENT_HAL_FIFO		0x2
67# XGE_COMPONENT_HAL_RING		0x4
68# XGE_COMPONENT_HAL_CHANNEL		0x8
69# XGE_COMPONENT_HAL_DEVICE		0x10
70# XGE_COMPONENT_HAL_MM			0x20
71# XGE_COMPONENT_HAL_QUEUE		0x40
72# XGE_COMPONENT_HAL_STATS		0x100
73# XGE_COMPONENT_OSDEP			0x1000
74# XGE_COMPONENT_LL			0x2000
75# XGE_COMPONENT_TOE			0x4000
76# XGE_COMPONENT_RDMA			0x8000
77# XGE_COMPONENT_ALL			0xffffffff
78#TRACE_CFLAGS = -DXGE_DEBUG_MODULE_MASK=0xffffffff \
79#		-DXGE_DEBUG_TRACE_MASK=0xffffffff \
80#		-DXGE_DEBUG_ERR_MASK=0xffffffff
81TRACE_CFLAGS 	= -DXGE_DEBUG_MODULE_MASK=0x00003010 \
82		-DXGE_DEBUG_TRACE_MASK=0x00000000  \
83		-DXGE_DEBUG_ERR_MASK=0x00003010
84
85XGE_CFLAGS	= $(HAL_CFLAGS) $(TRACE_CFLAGS) $(CCVERBOSE) \
86		-I$(UTSBASE)/common/io/xge/hal/include \
87		-I$(UTSBASE)/common/io/xge/hal/xgehal \
88		-I$(UTSBASE)/common/io/xge/drv -DSOLARIS
89
90CFLAGS		+= $(XGE_CFLAGS) -xO4 -xcrossfile -xc99=%all
91CFLAGS64	+= $(XGE_CFLAGS) -xO4 -xcrossfile -xc99=%all
92
93#
94#	Driver depends on MAC & IP
95#
96LDFLAGS		+=  -dy -N misc/mac -N drv/ip
97
98#	Lint flag
99#
100LINTFLAGS	+= $(XGE_CFLAGS) -Xc99=%all
101
102#
103# For now, disable these lint checks; maintainers should endeavor
104# to investigate and remove these for maximum lint coverage.
105# Please do not carry these forward to new Makefiles.
106#
107LINTTAGS	+= -erroff=E_BAD_PTR_CAST_ALIGN
108LINTTAGS	+= -erroff=E_STATIC_UNUSED
109LINTTAGS	+= -erroff=E_PTRDIFF_OVERFLOW
110
111#
112#
113#	Default build targets.
114#
115.KEEP_STATE:
116
117def:		$(DEF_DEPS)
118
119all:		$(ALL_DEPS)
120
121clean:		$(CLEAN_DEPS)
122
123clobber:	$(CLOBBER_DEPS)
124
125lint:		$(LINT_DEPS)
126
127modlintlib:	$(MODLINTLIB_DEPS)
128
129clean.lint:	$(CLEAN_LINT_DEPS)
130
131install:	$(INSTALL_DEPS)
132
133#
134#	Include common targets.
135#
136include $(UTSBASE)/intel/Makefile.targ
137