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.
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.
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]
23 # Copyright 2008 Sun Microsystems, Inc. All rights reserved.
24 # Use is subject to license terms.
26 # This makefile drives the production of the Neterion Xframe
27 # 10G Ethernet (XGE) driver module in x86 systems
31 # Paths to the base of the uts directory trees
36 # Define the module and object file sets.
39 OBJECTS
= $(XGE_HAL_OBJS
:%=$(OBJS_DIR
)/%) $(XGE_OBJS
:%=$(OBJS_DIR
)/%)
40 LINTS
= $(XGE_HAL_OBJS
:%.o
=$(LINTS_DIR
)/%.ln
) $(XGE_OBJS
:%.o
=$(LINTS_DIR
)/%.ln
)
41 ROOTMODULE
= $(ROOT_DRV_DIR
)/$(MODULE
)
44 # Include common rules.
46 include $(UTSBASE
)/intel
/Makefile.intel
51 ALL_TARGET
= $(BINARY
)
52 LINT_TARGET
= $(MODULE
).lint
53 INSTALL_TARGET
= $(BINARY
) $(ROOTMODULE
)
56 # GENERAL PURPOUSE HAL FLAGS: Tuning HAL for Solaris specific modes
58 HAL_CFLAGS
= -DXGE_HAL_USE_MGMT_AUX
61 # TRACE SECTION: Possible values for MODULE, TRACE and ERR masks:
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
79 TRACE_CFLAGS
= -DXGE_DEBUG_MODULE_MASK
=0x00003010 \
80 -DXGE_DEBUG_TRACE_MASK
=0x00000000 \
81 -DXGE_DEBUG_ERR_MASK
=0x00003010
83 XGE_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
88 CFLAGS
+= $(XGE_CFLAGS
) -xO4
-xcrossfile
-xc99
=%all
89 CFLAGS64
+= $(XGE_CFLAGS
) -xO4
-xcrossfile
-xc99
=%all
92 # Driver depends on MAC & IP
94 LDFLAGS
+= -dy
-N misc
/mac
-N drv
/ip
98 LINTFLAGS
+= $(XGE_CFLAGS
) -Xc99
=%all
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.
105 LINTTAGS
+= -erroff
=E_BAD_PTR_CAST_ALIGN
106 LINTTAGS
+= -erroff
=E_STATIC_UNUSED
107 LINTTAGS
+= -erroff
=E_PTRDIFF_OVERFLOW
109 CERRWARN
+= -_gcc
=-Wno-parentheses
110 CERRWARN
+= -_gcc
=-Wno-unused-variable
111 CERRWARN
+= -_gcc
=-Wno-unused-label
112 CERRWARN
+= -_gcc
=-Wno-empty-body
113 CERRWARN
+= -_gcc
=-Wno-uninitialized
117 # Default build targets.
127 clobber: $(CLOBBER_DEPS
)
131 modlintlib
: $(MODLINTLIB_DEPS
)
133 clean.lint
: $(CLEAN_LINT_DEPS
)
135 install: $(INSTALL_DEPS
)
138 # Include common targets.
140 include $(UTSBASE
)/intel
/Makefile.targ