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 += $(CNOWARN_UNINIT) 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