1 # CDDL HEADER START 2 # 3 # The contents of this file are subject to the terms of the 4 # Common Development and Distribution License (the "License"). 5 # You may not use this file except in compliance with the License. 6 # 7 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 8 # or http://www.opensolaris.org/os/licensing. 9 # See the License for the specific language governing permissions 10 # and limitations under the License. 11 # 12 # When distributing Covered Code, include this CDDL HEADER in each 13 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 14 # If applicable, add the following below this CDDL HEADER, with the 15 # fields enclosed by brackets "[]" replaced with your own identifying 16 # information: Portions Copyright [yyyy] [name of copyright owner] 17 # 18 # CDDL HEADER END 19 # 20 21 # 22 # Copyright 2007 Sun Microsystems, Inc. All rights reserved. 23 # Use is subject to license terms. 24 # 25 # Copyright (c) 2018, Joyent, Inc. 26 27 # 28 # This makefile drives the production of the Chelsio N110 29 # 10G Ethernet (CH) driver module in x86 systems 30 # 31 32 # 33 # Paths to the base of the uts directory trees 34 # 35 UTSBASE = ../.. 36 37 # 38 # Define the module and object file sets. 39 # 40 MODULE = chxge 41 OBJECTS = $(CH_OBJS:%=$(OBJS_DIR)/%) $(CH_COM_OBJS:%=$(OBJS_DIR)/%) 42 LINTS = $(CH_OBJS:%.o=$(LINTS_DIR)/%.ln) $(CH_COM_OBJS:%.o=$(LINTS_DIR)/%.ln) 43 ROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE) 44 45 # 46 # Include common rules. 47 # 48 include $(UTSBASE)/intel/Makefile.intel 49 50 # 51 # Define targets 52 # 53 ALL_TARGET = $(BINARY) 54 LINT_TARGET = $(MODULE).lint 55 INSTALL_TARGET = $(BINARY) $(ROOTMODULE) 56 57 CFLAGS += -DC99_NOT_SUPPORTED -DCONFIG_CHELSIO_T1_1G \ 58 -I$(UTSBASE)/common/io/chxge/ \ 59 -I$(UTSBASE)/common/io/chxge/com 60 61 CFLAGS += -DCONFIG_SMP 62 63 CFLAGS += -DRX_MAX_COUNT=256 64 65 CFLAGS += -DCONFIG_CHELSIO_T1_OFFLOAD 66 67 CFLAGS += -DSUN_KSTATS -DHOST_PAUSE -DTX_CKSUM_FIX -DTX_THREAD_RECLAIM 68 69 # Debug flags 70 # CFLAGS += -DCH_DEBUG=1 -DPE_DBGOUT_ENABLED=1 71 72 # 73 # Driver depends on GLD & IP 74 # 75 LDFLAGS += -dy -N misc/gld -N drv/ip 76 77 # Lint flag 78 # 79 LINTFLAGS += -DC99_NOT_SUPPORTED -DCONFIG_CHELSIO_T1_1G \ 80 -I$(UTSBASE)/common/io/chxge/ \ 81 -I$(UTSBASE)/common/io/chxge/com 82 83 LINTFLAGS += -DCONFIG_SMP 84 85 LINTFLAGS += -DRX_MAX_COUNT=256 86 87 LINTFLAGS += -DCONFIG_CHELSIO_T1_OFFLOAD 88 89 LINTFLAGS += -DSUN_KSTATS -DHOST_PAUSE -DTX_CKSUM_FIX -DTX_THREAD_RECLAIM 90 91 LINTFLAGS += -Xc99=%all 92 93 # 94 # For now, disable these lint checks; maintainers should endeavor 95 # to investigate and remove these for maximum lint coverage. 96 # Please do not carry these forward to new Makefiles. 97 # 98 LINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN 99 LINTTAGS += -erroff=E_PTRDIFF_OVERFLOW 100 LINTTAGS += -erroff=E_ASSIGN_NARROW_CONV 101 LINTTAGS += -erroff=E_STATIC_UNUSED 102 103 CERRWARN += -_gcc=-Wno-unused-label 104 CERRWARN += -_gcc=-Wno-unused-function 105 CERRWARN += -_gcc=-Wno-unused-variable 106 CERRWARN += -_gcc=-Wno-parentheses 107 108 SMOFF += indenting,all_func_returns,no_if_block 109 110 # needs work 111 $(OBJS_DIR)/sge.o := SMOFF += index_overflow 112 113 # 114 # 115 # Default build targets. 116 # 117 .KEEP_STATE: 118 119 def: $(DEF_DEPS) 120 121 all: $(ALL_DEPS) 122 123 clean: $(CLEAN_DEPS) 124 125 clobber: $(CLOBBER_DEPS) 126 127 lint: $(LINT_DEPS) 128 129 modlintlib: $(MODLINTLIB_DEPS) 130 131 clean.lint: $(CLEAN_LINT_DEPS) 132 133 install: $(INSTALL_DEPS) 134 135 # 136 # Include common targets. 137 # 138 include $(UTSBASE)/intel/Makefile.targ