xref: /titanic_44/usr/src/uts/sparc/xge/Makefile (revision 99ebb4ca412cb0a19d77a3899a87c055b9c30fa8)
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)/sparc/Makefile.sparc
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
85#
86#	ASSERT/DEBUG SECTION: Disable/enable assert and debug mode
87#
88ASSERT_CFLAGS	= -DXGE_DEBUG_ASSERT
89
90#
91#	FAST PATH SECTION: Will activate usage of inlines as a regular functions
92#	on fast data path
93#FP_CFLAGS = -DXGE_DEBUG_FP=0xff
94
95CPPFLAGS	+= $(HAL_CFLAGS) $(TRACE_CFLAGS) $(ASSERT_CFLAGS) $(CCVERBOSE) \
96		-I$(UTSBASE)/common/io/xge/hal/include \
97		-I$(UTSBASE)/common/io/xge/hal/xgehal \
98		-I$(UTSBASE)/common/io/xge/drv -DSOLARIS
99
100CFLAGS		+= $(CPPFLAGS) -xc99=%all
101
102#
103#	Driver depends on MAC & IP
104#
105LDFLAGS		+=  -dy -N misc/mac -N drv/ip
106
107#	Lint flag
108#
109LINTFLAGS	+= $(CPPFLAGS) -Xc99=%all
110
111#
112# For now, disable these lint checks; maintainers should endeavor
113# to investigate and remove these for maximum lint coverage.
114# Please do not carry these forward to new Makefiles.
115#
116LINTTAGS	+= -erroff=E_BAD_PTR_CAST_ALIGN
117LINTTAGS	+= -erroff=E_PTRDIFF_OVERFLOW
118LINTTAGS	+= -erroff=E_STATIC_UNUSED
119
120#
121#
122#	Default build targets.
123#
124.KEEP_STATE:
125
126def:		$(DEF_DEPS)
127
128all:		$(ALL_DEPS)
129
130clean:		$(CLEAN_DEPS)
131
132clobber:	$(CLOBBER_DEPS)
133
134lint:		$(LINT_DEPS)
135
136modlintlib:	$(MODLINTLIB_DEPS)
137
138clean.lint:	$(CLEAN_LINT_DEPS)
139
140install:	$(INSTALL_DEPS)
141
142#
143#	Include common targets.
144#
145include $(UTSBASE)/sparc/Makefile.targ
146