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