Makefile revision 678453a8ed49104d8adad58f3ba591bdc39883e8
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
135bcc2e42a94543f11af2a4196b13552ab46d89Automatic Updater# CDDL HEADER START
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
ec5347e2c775f027573ce5648b910361aa926c01Automatic Updater# The contents of this file are subject to the terms of the
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# Common Development and Distribution License (the "License").
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# You may not use this file except in compliance with the License.
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# or http://www.opensolaris.org/os/licensing.
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# See the License for the specific language governing permissions
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# and limitations under the License.
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# When distributing Covered Code, include this CDDL HEADER in each
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# If applicable, add the following below this CDDL HEADER, with the
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# fields enclosed by brackets "[]" replaced with your own identifying
d97637ce117b4a99492926217a78edd8e134a2daMark Andrews# information: Portions Copyright [yyyy] [name of copyright owner]
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# CDDL HEADER END
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# uts/intel/nxge/Makefile
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# Use is subject to license terms.
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# ident "%Z%%M% %I% %E% SMI"
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# This makefile drives the production of the Sun NIU
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# 10G/1G Ethernet leaf driver kernel module.
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# Path to the base of the uts directory tree (usually /usr/src/uts).
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark AndrewsUTSBASE = ../..
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# Define the module and object file sets.
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark AndrewsMODULE = nxge
289ae548d52bc8f982d9823af64cafda7bd92232Mark AndrewsNXGE_OBJECTS = $(NXGE_OBJS) $(NXGE_NPI_OBJS)
289ae548d52bc8f982d9823af64cafda7bd92232Mark AndrewsOBJECTS = $(NXGE_OBJECTS:%=$(OBJS_DIR)/%)
289ae548d52bc8f982d9823af64cafda7bd92232Mark AndrewsLINTS = $(NXGE_OBJECTS:%.o=$(LINTS_DIR)/%.ln)
289ae548d52bc8f982d9823af64cafda7bd92232Mark AndrewsROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
289ae548d52bc8f982d9823af64cafda7bd92232Mark AndrewsCONF_SRCDIR = $(UTSBASE)/common/io/nxge
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# Include common rules.
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrewsinclude $(UTSBASE)/intel/Makefile.intel
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# Override defaults to build a unique, local modstubs.o.
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark AndrewsMODSTUBS_DIR = $(OBJS_DIR)
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews
289ae548d52bc8f982d9823af64cafda7bd92232Mark AndrewsCLEANFILES += $(MODSTUBS_O)
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# Define targets
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic UpdaterALL_TARGET = $(BINARY)
289ae548d52bc8f982d9823af64cafda7bd92232Mark AndrewsLINT_TARGET = $(MODULE).lint
289ae548d52bc8f982d9823af64cafda7bd92232Mark AndrewsINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updater
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updater# Turn on doubleword alignment for 64 bit registers
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark AndrewsCFLAGS += -dalign
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updater# Include nxge specific header files
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark AndrewsINC_PATH += -I$(UTSBASE)/common
289ae548d52bc8f982d9823af64cafda7bd92232Mark AndrewsINC_PATH += -I$(UTSBASE)/common/io/nxge/npi
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic UpdaterINC_PATH += -I$(UTSBASE)/common/sys/nxge
289ae548d52bc8f982d9823af64cafda7bd92232Mark AndrewsINC_PATH += -I$(UTSBASE)/sun4v
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# lint pass one enforcement
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark AndrewsCFLAGS += -DSOLARIS
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#ALL_BUILDS = $(ALL_BUILDS64)
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#DEF_BUILDS = $(DEF_BUILDS64)
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#CLEANLINTFILES += $(LINT64_FILES)
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark AndrewsLINTFLAGS += -DSOLARIS
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# STREAMS, DDI API limitations and other ON header file definitions such as ethernet.h
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# force us to turn off these lint checks.
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updater#
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic UpdaterLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
289ae548d52bc8f982d9823af64cafda7bd92232Mark AndrewsLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic UpdaterLINTTAGS += -erroff=E_FALSE_LOGICAL_EXPR
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updater#
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updater# Driver depends on mac & IP
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic UpdaterLDFLAGS += -dy -N misc/mac -N drv/ip
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updater
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updater# Default build targets.
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updater#
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updater.KEEP_STATE:
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updaterdef: $(DEF_DEPS)
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updater
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updaterall: $(ALL_DEPS)
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updaterclean: $(CLEAN_DEPS)
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updater
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updaterclobber: $(CLOBBER_DEPS)
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updater
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updaterlint: $(LINT_DEPS)
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updater
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updatermodlintlib: $(MODLINTLIB_DEPS)
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updater
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updaterclean.lint: $(CLEAN_LINT_DEPS)
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updater
ddad35552931651426ad70912d29d9ab7d2a8d80Automatic Updaterinstall: $(INSTALL_DEPS)
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews# Include common targets.
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews#
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrewsinclude $(UTSBASE)/intel/Makefile.targ
289ae548d52bc8f982d9823af64cafda7bd92232Mark Andrews