Makefile revision dc10a9c2a5a49452cc30c6a110b64e5e074e37b3
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# CDDL HEADER START
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# The contents of this file are subject to the terms of the
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# Common Development and Distribution License (the "License").
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# You may not use this file except in compliance with the License.
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# or http://www.opensolaris.org/os/licensing.
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# See the License for the specific language governing permissions
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# and limitations under the License.
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# When distributing Covered Code, include this CDDL HEADER in each
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# If applicable, add the following below this CDDL HEADER, with the
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# fields enclosed by brackets "[]" replaced with your own identifying
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# information: Portions Copyright [yyyy] [name of copyright owner]
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# CDDL HEADER END
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# uts/sparc/hxge/Makefile
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# Use is subject to license terms.
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# This makefile drives the production of the Sun
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# 10G hxge Ethernet leaf driver kernel module.
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# Path to the base of the uts directory tree (usually /usr/src/uts).
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerUTSBASE = ../..
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# Define the module and object file sets.
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerMODULE = hxge
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerHXGE_OBJECTS = $(HXGE_OBJS) $(HXGE_HPI_OBJS)
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerOBJECTS = $(HXGE_OBJECTS:%=$(OBJS_DIR)/%)
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerLINTS = $(HXGE_OBJECTS:%.o=$(LINTS_DIR)/%.ln)
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerCONF_SRCDIR = $(UTSBASE)/common/io/hxge
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# Include common rules.
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speerinclude $(UTSBASE)/sparc/Makefile.sparc
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# Override defaults to build a unique, local modstubs.o.
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerMODSTUBS_DIR = $(OBJS_DIR)
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerCLEANFILES += $(MODSTUBS_O)
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# Define targets
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerALL_TARGET = $(BINARY)
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerLINT_TARGET = $(MODULE).lint
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# Turn on doubleword alignment for 64 bit registers
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerCFLAGS += -dalign
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# Include hxge specific header files
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerINC_PATH += -I$(UTSBASE)/common
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerINC_PATH += -I$(UTSBASE)/common/io/hxge
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# lint pass one enforcement
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerCFLAGS += -DSOLARIS
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# Debug flags
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# CFLAGS += -DHXGE_DEBUG -DHPI_DEBUG
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerLINTFLAGS += -DSOLARIS
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# STREAMS, DDI API limitations and other ON header file definitions such as ethernet.h
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# force us to turn off these lint checks.
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerLINTTAGS += -erroff=E_FALSE_LOGICAL_EXPR
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# Driver depends on mac & IP
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael SpeerLDFLAGS += -dy -N misc/mac -N drv/ip
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# Default build targets.
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer.KEEP_STATE:
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speerdef: $(DEF_DEPS)
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speerall: $(ALL_DEPS)
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speerclean: $(CLEAN_DEPS)
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speerclobber: $(CLOBBER_DEPS)
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speerlint: $(LINT_DEPS)
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speermodlintlib: $(MODLINTLIB_DEPS)
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speerclean.lint: $(CLEAN_LINT_DEPS)
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speerinstall: $(INSTALL_DEPS)
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer# Include common targets.
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speer#
dc10a9c2a5a49452cc30c6a110b64e5e074e37b3Michael Speerinclude $(UTSBASE)/intel/Makefile.targ