Makefile revision bb25c06cca41ca78e5fb87fbb8e81d55beb18c95
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER START
32098293b78922a5fbd10906afa28624820d3756Tinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# The contents of this file are subject to the terms of the
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# Common Development and Distribution License (the "License").
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# You may not use this file except in compliance with the License.
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews# or http://www.opensolaris.org/os/licensing.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# See the License for the specific language governing permissions
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# and limitations under the License.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# When distributing Covered Code, include this CDDL HEADER in each
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# If applicable, add the following below this CDDL HEADER, with the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# fields enclosed by brackets "[]" replaced with your own identifying
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# information: Portions Copyright [yyyy] [name of copyright owner]
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# CDDL HEADER END
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Use is subject to license terms.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#ident "%Z%%M% %I% %E% SMI"
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# This makefile drives the production of the Broadcom BCM57xx
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Gigabit Ethernet (BGE) driver module in sparc systems
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Path to the base of the uts directory tree (usually /usr/src/uts).
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User#
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserUTSBASE = ../..
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Define the module and object file sets.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntMODULE = bge
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinOBJECTS = $(BGE_OBJS:%=$(OBJS_DIR)/%)
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox UserLINTS = $(BGE_OBJS:%.o=$(LINTS_DIR)/%.ln)
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox UserROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCONF_SRCDIR = $(UTSBASE)/common/io/bge
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Include common rules.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User#
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox Userinclude $(UTSBASE)/sparc/Makefile.sparc
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Define targets
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User#
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserALL_TARGET = $(BINARY)
9c6a5d1f22f972232d7a9fd5c5fa64f10bacbdffAutomatic UpdaterLINT_TARGET = $(MODULE).lint
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsINSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOT_CONFFILE)
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# lint pass one enforcement
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinCFLAGS += $(CCVERBOSE)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User#
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# Turn on doubleword alignment for 64 bit registers
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox UserCFLAGS += -dalign
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Driver depends on MAC & IP
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLDFLAGS += -dy -N misc/mac -N drv/ip
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# For now, disable these lint checks; maintainers should endeavor
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# to investigate and remove these for maximum lint coverage.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Please do not carry these forward to new Makefiles.
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
727f5b8846457a33d06f515a10a7e1aa849ddf18Andreas GustafssonLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric LuceLINTTAGS += -erroff=E_STATIC_UNUSED
ac93437301f55ed69bf85883a497a75598c628f9Automatic UpdaterLINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater#
727f5b8846457a33d06f515a10a7e1aa849ddf18Andreas Gustafsson# Default build targets.
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce#
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater.KEEP_STATE:
ac93437301f55ed69bf85883a497a75598c628f9Automatic Updater
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Lucedef: $(DEF_DEPS)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceall: $(ALL_DEPS)
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luce
f293a69bcd1c1dd7bdac8f4102fc2398b9e475c8Eric Luceclean: $(CLEAN_DEPS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userclobber: $(CLOBBER_DEPS)
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userlint: $(LINT_DEPS)
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinmodlintlib: $(MODLINTLIB_DEPS)
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userclean.lint: $(CLEAN_LINT_DEPS)
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininstall: $(INSTALL_DEPS)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein# Include common targets.
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User#
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininclude $(UTSBASE)/sparc/Makefile.targ
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein