Home | History | Annotate | Download | only in nxge
      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 # uts/intel/nxge/Makefile
     22 #
     23 # Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
     24 # Use is subject to license terms.
     25 #
     26 #
     27 # ident	"%Z%%M%	%I%	%E% SMI"
     28 #
     29 #	This makefile drives the production of the Sun NIU
     30 #	10G/1G Ethernet leaf driver kernel module.
     31 #
     32 #
     33 #	Path to the base of the uts directory tree (usually /usr/src/uts).
     34 #
     35 UTSBASE	= ../..
     36 
     37 #
     38 #	Define the module and object file sets.
     39 #
     40 MODULE		= nxge
     41 NXGE_OBJECTS =	$(NXGE_OBJS) $(NXGE_NPI_OBJS)
     42 OBJECTS		=  $(NXGE_OBJECTS:%=$(OBJS_DIR)/%)
     43 LINTS		= $(NXGE_OBJECTS:%.o=$(LINTS_DIR)/%.ln)
     44 ROOTMODULE	= $(ROOT_DRV_DIR)/$(MODULE)
     45 CONF_SRCDIR	= $(UTSBASE)/common/io/nxge
     46 
     47 #
     48 #	Include common rules.
     49 #
     50 include $(UTSBASE)/intel/Makefile.intel
     51 
     52 #
     53 #	Override defaults to build a unique, local modstubs.o.
     54 #
     55 MODSTUBS_DIR	= $(OBJS_DIR)
     56 
     57 CLEANFILES	+= $(MODSTUBS_O)
     58 
     59 #
     60 #	Define targets
     61 #
     62 ALL_TARGET	= $(BINARY)
     63 LINT_TARGET	= $(MODULE).lint
     64 INSTALL_TARGET	= $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
     65 
     66 #
     67 #
     68 # Turn on doubleword alignment for 64 bit registers
     69 #
     70 CFLAGS	+= -dalign
     71 #
     72 # Include nxge specific header files
     73 #
     74 INC_PATH	+= -I$(UTSBASE)/common
     75 INC_PATH	+= -I$(UTSBASE)/common/io/nxge/npi
     76 INC_PATH	+= -I$(UTSBASE)/common/sys/nxge
     77 INC_PATH	+= -I$(UTSBASE)/sun4v
     78 #
     79 #
     80 # lint pass one enforcement
     81 #
     82 CFLAGS += -DSOLARIS
     83 #
     84 #ALL_BUILDS      = $(ALL_BUILDS64)
     85 #DEF_BUILDS      = $(DEF_BUILDS64)
     86 #CLEANLINTFILES  += $(LINT64_FILES)
     87 #
     88 LINTFLAGS += -DSOLARIS
     89 #
     90 # STREAMS, DDI API limitations and other ON header file definitions such as ethernet.h
     91 # force us to turn off these lint checks.
     92 #
     93 LINTTAGS	+= -erroff=E_BAD_PTR_CAST_ALIGN
     94 LINTTAGS	+= -erroff=E_PTRDIFF_OVERFLOW
     95 LINTTAGS	+= -erroff=E_FALSE_LOGICAL_EXPR
     96 #
     97 #	Driver depends on mac & IP
     98 #
     99 LDFLAGS		+= -dy -N misc/mac -N drv/ip
    100 
    101 #
    102 #	Default build targets.
    103 #
    104 .KEEP_STATE:
    105 
    106 def:		$(DEF_DEPS)
    107 
    108 all:		$(ALL_DEPS)
    109 
    110 clean:		$(CLEAN_DEPS)
    111 
    112 clobber:	$(CLOBBER_DEPS)
    113 
    114 lint:		$(LINT_DEPS)
    115 
    116 modlintlib:	$(MODLINTLIB_DEPS)
    117 
    118 clean.lint:	$(CLEAN_LINT_DEPS)
    119 
    120 install:	$(INSTALL_DEPS)
    121 
    122 #
    123 #	Include common targets.
    124 #
    125 include $(UTSBASE)/intel/Makefile.targ
    126