xref: /illumos-gate/usr/src/uts/intel/chxge/Makefile (revision fd5e5f43)
1d39a76e7Sxw# CDDL HEADER START
2d39a76e7Sxw#
3d39a76e7Sxw# The contents of this file are subject to the terms of the
4d39a76e7Sxw# Common Development and Distribution License (the "License").
5d39a76e7Sxw# You may not use this file except in compliance with the License.
6d39a76e7Sxw#
7d39a76e7Sxw# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8d39a76e7Sxw# or http://www.opensolaris.org/os/licensing.
9d39a76e7Sxw# See the License for the specific language governing permissions
10d39a76e7Sxw# and limitations under the License.
11d39a76e7Sxw#
12d39a76e7Sxw# When distributing Covered Code, include this CDDL HEADER in each
13d39a76e7Sxw# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14d39a76e7Sxw# If applicable, add the following below this CDDL HEADER, with the
15d39a76e7Sxw# fields enclosed by brackets "[]" replaced with your own identifying
16d39a76e7Sxw# information: Portions Copyright [yyyy] [name of copyright owner]
17d39a76e7Sxw#
18d39a76e7Sxw# CDDL HEADER END
19d39a76e7Sxw#
20d39a76e7Sxw
21d39a76e7Sxw#
22d39a76e7Sxw# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
23d39a76e7Sxw# Use is subject to license terms.
24ec71f88eSPatrick Mooney# Copyright 2018 Joyent, Inc.
25d39a76e7Sxw#
26b6b206fcSJohn Levon# Copyright (c) 2018, Joyent, Inc.
277014882cSRichard Lowe
28d39a76e7Sxw#
29d39a76e7Sxw#	This makefile drives the production of the Chelsio N110
30d39a76e7Sxw#	10G Ethernet (CH) driver module in x86 systems
31d39a76e7Sxw#
32d39a76e7Sxw
33d39a76e7Sxw#
34d39a76e7Sxw#	Paths to the base of the uts directory trees
35d39a76e7Sxw#
36d39a76e7SxwUTSBASE   = ../..
37d39a76e7Sxw
38d39a76e7Sxw#
39d39a76e7Sxw#	Define the module and object file sets.
40d39a76e7Sxw#
41d39a76e7SxwMODULE		= chxge
42d39a76e7SxwOBJECTS		= $(CH_OBJS:%=$(OBJS_DIR)/%) $(CH_COM_OBJS:%=$(OBJS_DIR)/%)
43d39a76e7SxwROOTMODULE	= $(ROOT_DRV_DIR)/$(MODULE)
44d39a76e7Sxw
45d39a76e7Sxw#
46d39a76e7Sxw#	Include common rules.
47d39a76e7Sxw#
48d39a76e7Sxwinclude $(UTSBASE)/intel/Makefile.intel
49d39a76e7Sxw
50d39a76e7Sxw#
51d39a76e7Sxw#	Define targets
52d39a76e7Sxw#
53d39a76e7SxwALL_TARGET	= $(BINARY)
54d39a76e7SxwINSTALL_TARGET	= $(BINARY) $(ROOTMODULE)
55d39a76e7Sxw
56d39a76e7SxwCFLAGS		+= -DC99_NOT_SUPPORTED -DCONFIG_CHELSIO_T1_1G \
57d39a76e7Sxw		-I$(UTSBASE)/common/io/chxge/ \
58d39a76e7Sxw		-I$(UTSBASE)/common/io/chxge/com
59d39a76e7Sxw
60d39a76e7SxwCFLAGS		+= -DCONFIG_SMP
61d39a76e7Sxw
62d39a76e7SxwCFLAGS		+= -DRX_MAX_COUNT=256
63d39a76e7Sxw
64d39a76e7SxwCFLAGS		+= -DCONFIG_CHELSIO_T1_OFFLOAD
65d39a76e7Sxw
66d39a76e7SxwCFLAGS		+= -DSUN_KSTATS -DHOST_PAUSE -DTX_CKSUM_FIX -DTX_THREAD_RECLAIM
67d39a76e7Sxw
68d39a76e7Sxw#	Debug flags
69d39a76e7Sxw# CFLAGS		+= -DCH_DEBUG=1 -DPE_DBGOUT_ENABLED=1
70d39a76e7Sxw
71d39a76e7Sxw#
72ec71f88eSPatrick Mooney#	Driver depends on GLD, IP, and MAC
73d39a76e7Sxw#
7482d0151aSRichard LoweLDFLAGS		+= -N misc/gld -N drv/ip -N misc/mac
75d39a76e7Sxw
76d39a76e7Sxw
77d39a76e7Sxw#
780aaef2f5SRichard Lowe# For now, disable these warnings; maintainers should endeavor
790aaef2f5SRichard Lowe# to investigate and remove these for maximum coverage.
80d39a76e7Sxw# Please do not carry these forward to new Makefiles.
81d39a76e7Sxw#
827014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-unused-label
837014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-unused-function
847014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-unused-variable
857014882cSRichard LoweCERRWARN	+= -_gcc=-Wno-parentheses
86*fd5e5f43SAndy FiddamanCCWARNINLINE	=
877014882cSRichard Lowe
88b6b206fcSJohn LevonSMOFF += indenting,all_func_returns,no_if_block
89b6b206fcSJohn Levon
90b6b206fcSJohn Levon# needs work
91b6b206fcSJohn Levon$(OBJS_DIR)/sge.o := SMOFF += index_overflow
92b6b206fcSJohn Levon
93d39a76e7Sxw#
94d39a76e7Sxw#
95d39a76e7Sxw#	Default build targets.
96d39a76e7Sxw#
97d39a76e7Sxw.KEEP_STATE:
98d39a76e7Sxw
99d39a76e7Sxwdef:		$(DEF_DEPS)
100d39a76e7Sxw
101d39a76e7Sxwall:		$(ALL_DEPS)
102d39a76e7Sxw
103d39a76e7Sxwclean:		$(CLEAN_DEPS)
104d39a76e7Sxw
105d39a76e7Sxwclobber:	$(CLOBBER_DEPS)
106d39a76e7Sxw
107d39a76e7Sxwinstall:	$(INSTALL_DEPS)
108d39a76e7Sxw
109d39a76e7Sxw#
110d39a76e7Sxw#	Include common targets.
111d39a76e7Sxw#
112d39a76e7Sxwinclude $(UTSBASE)/intel/Makefile.targ
113