1 # 2 # CDDL HEADER START 3 # 4 # The contents of this file are subject to the terms of the 5 # Common Development and Distribution License (the "License"). 6 # You may not use this file except in compliance with the License. 7 # 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 # or http://www.opensolaris.org/os/licensing. 10 # See the License for the specific language governing permissions 11 # and limitations under the License. 12 # 13 # When distributing Covered Code, include this CDDL HEADER in each 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 # If applicable, add the following below this CDDL HEADER, with the 16 # fields enclosed by brackets "[]" replaced with your own identifying 17 # information: Portions Copyright [yyyy] [name of copyright owner] 18 # 19 # CDDL HEADER END 20 # 21 # 22 # Copyright 2008 Sun Microsystems, Inc. All rights reserved. 23 # Use is subject to license terms. 24 # 25 # Copyright (c) 2018, Joyent, Inc. 26 27 # 28 # Path to the base of the uts directory tree (usually /usr/src/uts). 29 # 30 UTSBASE = ../.. 31 32 # 33 # Define the module and object file sets. 34 # 35 MODULE = ipf 36 OBJECTS = $(IPF_OBJS:%=$(OBJS_DIR)/%) 37 LINTS = $(IPF_OBJS:%.o=$(LINTS_DIR)/%.ln) 38 ROOTMODULE = $(USR_DRV_DIR)/$(MODULE) 39 CONF_SRCDIR = $(UTSBASE)/common/inet/ipf 40 41 # 42 # Include common rules. 43 # 44 include $(UTSBASE)/intel/Makefile.intel 45 46 # 47 # Define targets 48 # 49 ALL_TARGET = $(BINARY) $(SRC_CONFFILE) 50 LINT_TARGET = $(MODULE).lint 51 INSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE) 52 53 CPPFLAGS += -DIPFILTER_LKM -DIPFILTER_LOG -DIPFILTER_LOOKUP -DUSE_INET6 54 CPPFLAGS += -DSUNDDI -DSOLARIS2=$(RELEASE_MINOR) -DIRE_ILL_CN 55 LDFLAGS += -dy -Ndrv/ip -Nmisc/md5 -Nmisc/neti -Nmisc/hook -Nmisc/kcf 56 57 INC_PATH += -I$(UTSBASE)/common/inet/ipf 58 59 # 60 # For now, disable these lint checks; maintainers should endeavor 61 # to investigate and remove these for maximum lint coverage. 62 # Please do not carry these forward to new Makefiles. 63 # 64 LINTTAGS += -erroff=E_STATIC_UNUSED 65 LINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN 66 LINTTAGS += -erroff=E_PTRDIFF_OVERFLOW 67 LINTTAGS += -erroff=E_ASSIGN_NARROW_CONV 68 69 CERRWARN += -_gcc=-Wno-unused-function 70 CERRWARN += -_gcc=-Wno-unused-variable 71 CERRWARN += -_gcc=-Wno-parentheses 72 CERRWARN += -_gcc=-Wno-uninitialized 73 CERRWARN += -_gcc=-Wno-empty-body 74 75 # needs work 76 SMATCH=off 77 78 # 79 # Default build targets. 80 # 81 .KEEP_STATE: 82 83 def: $(DEF_DEPS) 84 85 all: $(ALL_DEPS) $(SISCHECK_DEPS) 86 87 clean: $(CLEAN_DEPS) $(SISCLEAN_DEPS) 88 89 clobber: $(CLOBBER_DEPS) $(SISCLEAN_DEPS) 90 91 lint: $(LINT_DEPS) 92 93 modlintlib: $(MODLINTLIB_DEPS) 94 95 clean.lint: $(CLEAN_LINT_DEPS) 96 97 install: $(INSTALL_DEPS) $(SISCHECK_DEPS) 98 99 # 100 # Include common targets. 101 # 102 include $(UTSBASE)/intel/Makefile.targ