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) 2019, Joyent, Inc.
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-switch
89 CERRWARN += -_gcc=-Wno-uninitialized
90 CERRWARN += -_gcc=-Wno-parentheses
91 CERRWARN += -_gcc=-Wno-unused-function
92 CERRWARN += -_gcc=-Wno-unused-value
93 CERRWARN += -_gcc=-Wno-unused-variable
94 CERRWARN += -_gcc=-Wno-unused-but-set-variable
95 CERRWARN += -_cc=-erroff=E_STATEMENT_NOT_REACHED
96 CERRWARN += -_cc=-erroff=E_ARGUEMENT_MISMATCH
97 CERRWARN += -_cc=-erroff=E_INTEGER_OVERFLOW_DETECTED
98 CERRWARN += -_cc=-erroff=E_CONST_PROMOTED_UNSIGNED_LL
99 CERRWARN += -_cc=-erroff=E_ENUM_VAL_OVERFLOWS_INT_MAX
100
101 # a whole mess
102 SMATCH=off
103
104 LINTTAGS += -erroff=E_FUNC_RET_ALWAYS_IGNOR2
105 LINTTAGS += -erroff=E_FUNC_RET_MAYBE_IGNORED2
106 LINTTAGS += -erroff=E_STATIC_UNUSED
107 LINTTAGS += -erroff=E_FUNC_SET_NOT_USED
108 LINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
109 LINTTAGS += -erroff=E_CONSTANT_CONDITION
110 LINTTAGS += -erroff=E_NOP_ELSE_STMT
111 LINTTAGS += -erroff=E_NOP_IF_STMT
112 LINTTAGS += -erroff=E_FUNC_ARG_UNUSED
113 LINTTAGS += -erroff=E_FUNC_VAR_UNUSED
114 LINTTAGS += -erroff=E_EXPR_NULL_EFFECT
115 LINTTAGS += -erroff=E_STMT_NOT_REACHED
116 LINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
117 LINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
118 LINTTAGS += -erroff=E_CASE_FALLTHRU
119 LINTTAGS += -erroff=E_CONST_EXPR
120
121 #
122 # Default build targets.
123 #
124 .KEEP_STATE:
125
126 def: $(DEF_DEPS)
127
128 all: $(ALL_DEPS)
129
130 clean: $(CLEAN_DEPS)
131
132 clobber: $(CLOBBER_DEPS)
133
134 lint: $(LINT_DEPS)
135
136 modlintlib: $(MODLINTLIB_DEPS)
137
138 clean.lint: $(CLEAN_LINT_DEPS)
139
140 install: $(INSTALL_DEPS)
141
142 #
143 # Include common targets.
144 #
145 include $(UTSBASE)/intel/Makefile.targ