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 ROOTMODULE
= $(ROOT_DRV_DIR
)/$(MODULE
)
43 # Include common rules.
45 include $(UTSBASE
)/intel
/Makefile.intel
50 ALL_TARGET
= $(BINARY
)
51 INSTALL_TARGET
= $(BINARY
) $(ROOTMODULE
)
54 # GENERAL PURPOUSE HAL FLAGS: Tuning HAL for Solaris specific modes
56 HAL_CFLAGS
= -DXGE_HAL_USE_MGMT_AUX
59 # TRACE SECTION: Possible values for MODULE, TRACE and ERR masks:
61 # XGE_COMPONENT_HAL_CONFIG 0x1
62 # XGE_COMPONENT_HAL_FIFO 0x2
63 # XGE_COMPONENT_HAL_RING 0x4
64 # XGE_COMPONENT_HAL_CHANNEL 0x8
65 # XGE_COMPONENT_HAL_DEVICE 0x10
66 # XGE_COMPONENT_HAL_MM 0x20
67 # XGE_COMPONENT_HAL_QUEUE 0x40
68 # XGE_COMPONENT_HAL_STATS 0x100
69 # XGE_COMPONENT_OSDEP 0x1000
70 # XGE_COMPONENT_LL 0x2000
71 # XGE_COMPONENT_TOE 0x4000
72 # XGE_COMPONENT_RDMA 0x8000
73 # XGE_COMPONENT_ALL 0xffffffff
74 #TRACE_CFLAGS = -DXGE_DEBUG_MODULE_MASK=0xffffffff \
75 # -DXGE_DEBUG_TRACE_MASK=0xffffffff \
76 # -DXGE_DEBUG_ERR_MASK=0xffffffff
77 TRACE_CFLAGS
= -DXGE_DEBUG_MODULE_MASK
=0x00003010 \
78 -DXGE_DEBUG_TRACE_MASK
=0x00000000 \
79 -DXGE_DEBUG_ERR_MASK
=0x00003010
81 XGE_CFLAGS
= $(HAL_CFLAGS
) $(TRACE_CFLAGS
) \
82 -I
$(UTSBASE
)/common
/io
/xge
/hal
/include \
83 -I
$(UTSBASE
)/common
/io
/xge
/hal
/xgehal \
84 -I
$(UTSBASE
)/common
/io
/xge
/drv
-DSOLARIS
86 CFLAGS
+= $(XGE_CFLAGS
)
87 CFLAGS
+= -fno-strict-aliasing
88 CFLAGS
+= -fno-unit-at-a-time
89 CFLAGS
+= -fno-optimize-sibling-calls
91 CFLAGS
+= $(C99_ENABLE
)
92 CFLAGS64
+= $(XGE_CFLAGS
)
93 CFLAGS64
+= -fno-strict-aliasing
94 CFLAGS64
+= -fno-unit-at-a-time
95 CFLAGS64
+= -fno-optimize-sibling-calls
97 CFLAGS64
+= $(C99_ENABLE
)
100 # Driver depends on MAC & IP
102 LDFLAGS
+= -dy
-N misc
/mac
-N drv
/ip
105 # For now, disable these compiler warnings; maintainers should endeavor to
106 # investigate and remove these for maximum coverage. Please do not carry
107 # these forward to new Makefiles.
109 CERRWARN
+= -Wno-parentheses
110 CERRWARN
+= -Wno-unused-variable
111 CERRWARN
+= -Wno-unused-label
112 CERRWARN
+= -Wno-empty-body
113 CERRWARN
+= -Wno-uninitialized
117 # Default build targets.
127 clobber: $(CLOBBER_DEPS
)
129 install: $(INSTALL_DEPS
)
132 # Include common targets.
134 include $(UTSBASE
)/intel
/Makefile.targ