1 #
2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"), version 1.0.
4 # You may only use this file in accordance with the terms of version
5 # 1.0 of the CDDL.
6 #
7 # A full copy of the text of the CDDL should have accompanied this
8 # source. A copy of the CDDL is also available via the Internet at
9 # http://www.illumos.org/license/CDDL.
10 #
11
12 #
13 # Copyright (c) 2014, Joyent, Inc. All rights reserved.
14 #
15
16 #
17 # uts/intel/bnxe/Makefile
18 #
19 # This makefile drives the production of the bnxe
20 # driver kernel module.
21 #
22 # intel architecture dependent
23 #
24
25 #
26 # Paths to the base of the uts directory trees
27 #
28 UTSBASE = ../..
29
30 #
31 # Define the module and object file sets.
32 #
33 MODULE = bnxe
34 OBJECTS = $(BNXE_OBJS:%=$(OBJS_DIR)/%)
35 LINTS = $(LINTS_DIR)/bnxe_lint.ln
36 ROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
37 SRCDIR = $(UTSBASE)/common/io/bnxe
38 CONF_SRCDIR = $(SRCDIR)
39
40 #
41 # Include common rules.
42 #
43 include $(UTSBASE)/intel/Makefile.intel
44
45 #
46 # Define targets
47 #
48 ALL_TARGET = $(BINARY) $(CONFMOD)
49 LINT_TARGET = $(MODULE).lint
50 INSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
51
52 C99LMODE= -Xc99=%all
53
54 #
55 # Driver-specific flags
56 # XXX inline bits were originally set to inline
57 #
58 CPPFLAGS += -DLM_RXPKT_NON_CONTIGUOUS \
59 -DELINK_ENHANCEMENTS \
60 -DELINK_57711E_SUPPORT \
61 -DELINK_DEBUG \
62 -D__inline= \
63 -D_inline= \
64 -D__BASENAME__=\"bnxe\" \
65 -D__SunOS \
66 -D__S11 \
67 -DILLUMOS \
68 -DLITTLE_ENDIAN \
69 -DLITTLE_ENDIAN_HOST \
70 -D__LITTLE_ENDIAN \
71 -I$(SRCDIR)/577xx/include \
72 -I$(SRCDIR)/577xx/drivers/common/ecore \
73 -I$(SRCDIR)/577xx/drivers/common/include \
74 -I$(SRCDIR)/577xx/drivers/common/include/l4 \
75 -I$(SRCDIR)/577xx/drivers/common/include/l5 \
76 -I$(SRCDIR)/577xx/drivers/common/lm/device \
77 -I$(SRCDIR)/577xx/drivers/common/lm/fw \
78 -I$(SRCDIR)/577xx/drivers/common/lm/include \
79 -I$(SRCDIR)/577xx/drivers/common/lm/l4 \
80 -I$(SRCDIR)/577xx/drivers/common/lm/l4/include \
81 -I$(SRCDIR)/577xx/drivers/common/lm/l5 \
82 -I$(SRCDIR)/577xx/drivers/common/lm/l5/include \
83 -I$(SRCDIR)/577xx/hsi/hw/include \
84 -I$(SRCDIR)/577xx/hsi/mcp \
85 -I$(SRCDIR)
86
87 LDFLAGS += -dy -r -Ndrv/ip -Nmisc/mac
88 #CERRWARN += -_gcc=-Wno-old-style-declaration
89 CERRWARN += -_gcc=-Wno-switch
90 CERRWARN += -_gcc=-Wno-uninitialized
91 CERRWARN += -_gcc=-Wno-parentheses
92 CERRWARN += -_gcc=-Wno-unused-function
93 CERRWARN += -_gcc=-Wno-unused-value
94 CERRWARN += -_gcc=-Wno-unused-variable
95 CERRWARN += -_gcc=-Wno-unused-but-set-variable
96 CERRWARN += -_cc=-erroff=E_STATEMENT_NOT_REACHED
97 CERRWARN += -_cc=-erroff=E_ARGUEMENT_MISMATCH
98 CERRWARN += -_cc=-erroff=E_INTEGER_OVERFLOW_DETECTED
99 CERRWARN += -_cc=-erroff=E_CONST_PROMOTED_UNSIGNED_LL
100 CERRWARN += -_cc=-erroff=E_ENUM_VAL_OVERFLOWS_INT_MAX
101
102 LINTTAGS += -erroff=E_FUNC_RET_ALWAYS_IGNOR2
103 LINTTAGS += -erroff=E_FUNC_RET_MAYBE_IGNORED2
104 LINTTAGS += -erroff=E_STATIC_UNUSED
105 LINTTAGS += -erroff=E_FUNC_SET_NOT_USED
106 LINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
107 LINTTAGS += -erroff=E_CONSTANT_CONDITION
108 LINTTAGS += -erroff=E_NOP_ELSE_STMT
109 LINTTAGS += -erroff=E_NOP_IF_STMT
110 LINTTAGS += -erroff=E_FUNC_ARG_UNUSED
111 LINTTAGS += -erroff=E_FUNC_VAR_UNUSED
112 LINTTAGS += -erroff=E_EXPR_NULL_EFFECT
113 LINTTAGS += -erroff=E_STMT_NOT_REACHED
114 LINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
115 LINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
116 LINTTAGS += -erroff=E_CASE_FALLTHRU
117 LINTTAGS += -erroff=E_CONST_EXPR
118
119 #
120 # Default build targets.
121 #
122 .KEEP_STATE:
123
124 def: $(DEF_DEPS)
125
126 all: $(ALL_DEPS)
127
128 clean: $(CLEAN_DEPS)
129
130 clobber: $(CLOBBER_DEPS)
131
132 lint: $(LINT_DEPS)
133
134 modlintlib: $(MODLINTLIB_DEPS)
135
136 clean.lint: $(CLEAN_LINT_DEPS)
137
138 install: $(INSTALL_DEPS)
139
140 #
141 # Include common targets.
142 #
143 include $(UTSBASE)/intel/Makefile.targ