xref: /illumos-gate/usr/src/uts/intel/i40e/Makefile (revision 8509e9caaaa43d21ab1a18a2aa45b43322c378ac)
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) 2018, Joyent, Inc.
14#
15
16UTSBASE = ../..
17
18MODULE		= i40e
19OBJECTS		= $(I40E_OBJS:%=$(OBJS_DIR)/%) $(I40E_INTC_OBJS:%=$(OBJS_DIR)/%)
20LINTS		= $(I40E_OBJS:%.o=$(LINTS_DIR)/%.ln)
21ROOTMODULE	= $(ROOT_DRV_DIR)/$(MODULE)
22CONF_SRCDIR	= $(UTSBASE)/common/io/i40e
23
24include $(UTSBASE)/intel/Makefile.intel
25
26CPPFLAGS	+= -I$(UTSBASE)/common/io/i40e
27CPPFLAGS	+= -I$(UTSBASE)/common/io/i40e/core
28
29ALL_TARGET	= $(BINARY) $(CONFMOD)
30LINT_TARGET	= $(MODULE).lint
31INSTALL_TARGET	= $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
32
33#
34# The Intel common code defines some values in header files that end up in all
35# of our objects. Therefore we don't try to lint for that.
36#
37LINTTAGS	+= -erroff=E_STATIC_UNUSED
38LINTTAGS	+= -erroff=E_ENUM_VAL_OVERFLOWS_INT_MAX
39
40#
41# The Intel common code defines some enums which are valid unsigned ints that
42# GCC is fine with, but not Studio.
43#
44CERRWARN   += -_cc=-erroff=E_ENUM_VAL_OVERFLOWS_INT_MAX
45
46# 3rd party code
47SMOFF += all_func_returns
48
49LDFLAGS		+= -dy -N misc/mac
50
51MAPFILES	+= ddi mac random
52
53.KEEP_STATE:
54
55def:		$(DEF_DEPS)
56
57all:		$(ALL_DEPS)
58
59clean:		$(CLEAN_DEPS)
60
61clobber:	$(CLOBBER_DEPS)
62
63lint:		$(LINT_DEPS)
64
65modlintlib:	$(MODLINTLIB_DEPS)
66
67clean.lint:	$(CLEAN_LINT_DEPS)
68
69install:	$(INSTALL_DEPS)
70
71include $(UTSBASE)/Makefile.mapfile
72include $(UTSBASE)/intel/Makefile.targ
73