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 
  26 #
  27 #       This makefile drives the production of the Chelsio N110
  28 #       10G Ethernet (CH) driver module in x86 systems
  29 #
  30 
  31 #
  32 #       Paths to the base of the uts directory trees
  33 #
  34 UTSBASE   = ../..
  35 
  36 #
  37 #       Define the module and object file sets.
  38 #
  39 MODULE          = chxge
  40 OBJECTS         = $(CH_OBJS:%=$(OBJS_DIR)/%) $(CH_COM_OBJS:%=$(OBJS_DIR)/%)
  41 LINTS           = $(CH_OBJS:%.o=$(LINTS_DIR)/%.ln) $(CH_COM_OBJS:%.o=$(LINTS_DIR)/%.ln)
  42 ROOTMODULE      = $(ROOT_DRV_DIR)/$(MODULE)
  43 
  44 #
  45 #       Include common rules.
  46 #
  47 include $(UTSBASE)/intel/Makefile.intel
  48 
  49 #
  50 #       Define targets
  51 #
  52 ALL_TARGET      = $(BINARY)
  53 LINT_TARGET     = $(MODULE).lint
  54 INSTALL_TARGET  = $(BINARY) $(ROOTMODULE)
  55 
  56 CFLAGS          += -DC99_NOT_SUPPORTED -DCONFIG_CHELSIO_T1_1G \
  57                 -I$(UTSBASE)/common/io/chxge/ \
  58                 -I$(UTSBASE)/common/io/chxge/com
  59 
  60 CFLAGS          += -DCONFIG_SMP
  61 
  62 CFLAGS          += -DRX_MAX_COUNT=256
  63 
  64 CFLAGS          += -DCONFIG_CHELSIO_T1_OFFLOAD
  65 
  66 CFLAGS          += -DSUN_KSTATS -DHOST_PAUSE -DTX_CKSUM_FIX -DTX_THREAD_RECLAIM
  67 
  68 #       Debug flags
  69 # CFLAGS                += -DCH_DEBUG=1 -DPE_DBGOUT_ENABLED=1
  70 
  71 #
  72 #       Driver depends on GLD & IP
  73 #
  74 LDFLAGS         += -dy -N misc/gld -N drv/ip
  75 
  76 #       Lint flag
  77 #
  78 LINTFLAGS       += -DC99_NOT_SUPPORTED -DCONFIG_CHELSIO_T1_1G \
  79                 -I$(UTSBASE)/common/io/chxge/ \
  80                 -I$(UTSBASE)/common/io/chxge/com
  81 
  82 LINTFLAGS       += -DCONFIG_SMP
  83 
  84 LINTFLAGS       += -DRX_MAX_COUNT=256
  85 
  86 LINTFLAGS       += -DCONFIG_CHELSIO_T1_OFFLOAD
  87 
  88 LINTFLAGS       += -DSUN_KSTATS -DHOST_PAUSE -DTX_CKSUM_FIX -DTX_THREAD_RECLAIM
  89 
  90 LINTFLAGS       += -Xc99=%all
  91 
  92 #
  93 # For now, disable these lint checks; maintainers should endeavor
  94 # to investigate and remove these for maximum lint coverage.
  95 # Please do not carry these forward to new Makefiles.
  96 #
  97 LINTTAGS        += -erroff=E_BAD_PTR_CAST_ALIGN
  98 LINTTAGS        += -erroff=E_PTRDIFF_OVERFLOW
  99 LINTTAGS        += -erroff=E_ASSIGN_NARROW_CONV
 100 LINTTAGS        += -erroff=E_STATIC_UNUSED
 101 
 102 CERRWARN        += -_gcc=-Wno-unused-label
 103 CERRWARN        += -_gcc=-Wno-unused-function
 104 CERRWARN        += -_gcc=-Wno-unused-variable
 105 CERRWARN        += -_gcc=-Wno-parentheses
 106 
 107 #
 108 #
 109 #       Default build targets.
 110 #
 111 .KEEP_STATE:
 112 
 113 def:            $(DEF_DEPS)
 114 
 115 all:            $(ALL_DEPS)
 116 
 117 clean:          $(CLEAN_DEPS)
 118 
 119 clobber:        $(CLOBBER_DEPS)
 120 
 121 lint:           $(LINT_DEPS)
 122 
 123 modlintlib:     $(MODLINTLIB_DEPS)
 124 
 125 clean.lint:     $(CLEAN_LINT_DEPS)
 126 
 127 install:        $(INSTALL_DEPS)
 128 
 129 #
 130 #       Include common targets.
 131 #
 132 include $(UTSBASE)/intel/Makefile.targ