Makefile revision bf56214c0556fa6864189c826d39dbe156bb22a0
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# CDDL HEADER START
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# The contents of this file are subject to the terms of the
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# Common Development and Distribution License (the "License").
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# You may not use this file except in compliance with the License.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# or http://www.opensolaris.org/os/licensing.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# See the License for the specific language governing permissions
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# and limitations under the License.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# When distributing Covered Code, include this CDDL HEADER in each
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# If applicable, add the following below this CDDL HEADER, with the
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# fields enclosed by brackets "[]" replaced with your own identifying
dff2cc5646d4437ab9e0cb1dcb59da65462a5938jeff.schenk# information: Portions Copyright [yyyy] [name of copyright owner]
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# CDDL HEADER END
dff2cc5646d4437ab9e0cb1dcb59da65462a5938jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# Use is subject to license terms.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# uts/sparc/ibcm/Makefile
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# This makefile drives the production of the ibcm kernel
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# module. SPARC architecture dependent
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# ident "%Z%%M% %I% %E% SMI"
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# Path to the base of the uts directory tree (usually /usr/src/uts).
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkUTSBASE = ../..
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# Define the module and object file sets.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkMODULE = ibcm
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkOBJECTS = $(IBCM_OBJS:%=$(OBJS_DIR)/%)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkLINTS = $(IBCM_OBJS:%.o=$(LINTS_DIR)/%.ln)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkROOTMODULE = $(ROOT_MISC_DIR)/$(MODULE)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkWARLOCK_OUT = $(IBCM_OBJS:%.o=%.ll)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkWARLOCK_OK = $(MODULE).ok
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkWLCMD_DIR = $(UTSBASE)/common/io/warlock
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
dff2cc5646d4437ab9e0cb1dcb59da65462a5938jeff.schenk# Include common rules.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkinclude $(UTSBASE)/sparc/Makefile.sparc
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# Define targets
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
dff2cc5646d4437ab9e0cb1dcb59da65462a5938jeff.schenkALL_TARGET = $(BINARY)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkLINT_TARGET = $(MODULE).lint
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
dff2cc5646d4437ab9e0cb1dcb59da65462a5938jeff.schenk# Overrides.
dff2cc5646d4437ab9e0cb1dcb59da65462a5938jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkALL_BUILDS = $(ALL_BUILDSONLY64)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkDEF_BUILDS = $(DEF_BUILDSONLY64)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# lint pass one enforcement
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkCFLAGS += $(CCVERBOSE)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# depends on misc/ibtl and misc/ibmf
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkLDFLAGS += -dy -Nmisc/ibtl -Nmisc/ibmf
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# For now, disable these lint checks; maintainers should endeavor
dff2cc5646d4437ab9e0cb1dcb59da65462a5938jeff.schenk# to investigate and remove these for maximum lint coverage.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# Please do not carry these forward to new Makefiles.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkLINTTAGS += -erroff=E_STATIC_UNUSED
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkLINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# Default build targets.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk.KEEP_STATE:
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkdef: $(DEF_DEPS)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
dff2cc5646d4437ab9e0cb1dcb59da65462a5938jeff.schenkall: $(ALL_DEPS)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkclean: $(CLEAN_DEPS)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkclobber: $(CLOBBER_DEPS)
dff2cc5646d4437ab9e0cb1dcb59da65462a5938jeff.schenk $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenklint: $(LINT_DEPS)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkmodlintlib: $(MODLINTLIB_DEPS) lint32
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkclean.lint: $(CLEAN_LINT_DEPS)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkinstall: $(INSTALL_DEPS)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# Include common targets.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkinclude $(UTSBASE)/sparc/Makefile.targ
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk# Defines for local commands.
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk#
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkWARLOCK = warlock
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkWLCC = wlcc
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkTOUCH = touch
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkTEST = test
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkwarlock: $(WARLOCK_OK)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk$(WARLOCK_OK): $(WARLOCK_OUT) $(WLCMD_DIR)/ibcm.wlcmd
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk $(WARLOCK) -c $(WLCMD_DIR)/ibcm.wlcmd $(WARLOCK_OUT)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk $(TOUCH) $@
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk%.ll: $(UTSBASE)/common/io/ib/mgt/ibcm/%.c \
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk $(UTSBASE)/common/sys/ib/mgt/ibcm/ibcm_impl.h
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk $(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $<
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkwarlock_ddi.files:
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk @cd ../warlock; pwd; $(MAKE) warlock
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk