Makefile revision 4ebb14b236958cfe1ef4ff3b7a50216d9e51f997
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# CDDL HEADER START
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# The contents of this file are subject to the terms of the
080575042aba2197b425ebfd52061dea061a9aa1xy# Common Development and Distribution License (the "License").
080575042aba2197b425ebfd52061dea061a9aa1xy# You may not use this file except in compliance with the License.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
47b7744cbea59975a6b583125b7ed1ff2ac45313yy# or http://www.opensolaris.org/os/licensing.
080575042aba2197b425ebfd52061dea061a9aa1xy# See the License for the specific language governing permissions
080575042aba2197b425ebfd52061dea061a9aa1xy# and limitations under the License.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# When distributing Covered Code, include this CDDL HEADER in each
080575042aba2197b425ebfd52061dea061a9aa1xy# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
080575042aba2197b425ebfd52061dea061a9aa1xy# If applicable, add the following below this CDDL HEADER, with the
080575042aba2197b425ebfd52061dea061a9aa1xy# fields enclosed by brackets "[]" replaced with your own identifying
080575042aba2197b425ebfd52061dea061a9aa1xy# information: Portions Copyright [yyyy] [name of copyright owner]
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# CDDL HEADER END
080575042aba2197b425ebfd52061dea061a9aa1xy#
47b7744cbea59975a6b583125b7ed1ff2ac45313yy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
080575042aba2197b425ebfd52061dea061a9aa1xy# Use is subject to license terms.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# ident "%Z%%M% %I% %E% SMI"
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# This makefile drives the production of the ibmf kernel module.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# sparc architecture dependent
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Path to the base of the uts directory tree (usually /usr/src/uts).
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyUTSBASE = ../..
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Define the module and object file sets.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyMODULE = ibmf
080575042aba2197b425ebfd52061dea061a9aa1xyOBJECTS = $(IBMF_OBJS:%=$(OBJS_DIR)/%)
080575042aba2197b425ebfd52061dea061a9aa1xyLINTS = $(IBMF_OBJS:%.o=$(LINTS_DIR)/%.ln)
080575042aba2197b425ebfd52061dea061a9aa1xyROOTMODULE = $(ROOT_MISC_DIR)/$(MODULE)
080575042aba2197b425ebfd52061dea061a9aa1xyLDFLAGS += -dy -Nmisc/ibtl
080575042aba2197b425ebfd52061dea061a9aa1xyWARLOCK_OUT = $(IBMF_OBJS:%.o=%.ll)
080575042aba2197b425ebfd52061dea061a9aa1xyWARLOCK_OK = $(MODULE).ok
080575042aba2197b425ebfd52061dea061a9aa1xyWLCMD_DIR = $(UTSBASE)/common/io/warlock
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Include common rules.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyinclude $(UTSBASE)/sparc/Makefile.sparc
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Define targets
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyALL_TARGET = $(BINARY)
080575042aba2197b425ebfd52061dea061a9aa1xyLINT_TARGET = $(MODULE).lint
080575042aba2197b425ebfd52061dea061a9aa1xyINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Overrides
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#DEBUG_DEFS_DBG64 += -DTNF_DEBUG
080575042aba2197b425ebfd52061dea061a9aa1xyALL_BUILDS = $(ALL_BUILDSONLY64)
080575042aba2197b425ebfd52061dea061a9aa1xyDEF_BUILDS = $(DEF_BUILDSONLY64)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# lint pass one enforcement
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyCFLAGS += $(CCVERBOSE)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# For now, disable these lint checks; maintainers should endeavor
080575042aba2197b425ebfd52061dea061a9aa1xy# to investigate and remove these for maximum lint coverage.
080575042aba2197b425ebfd52061dea061a9aa1xy# Please do not carry these forward to new Makefiles.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
080575042aba2197b425ebfd52061dea061a9aa1xyLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Default build targets.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy.KEEP_STATE:
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xydef: $(DEF_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyall: $(ALL_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyclean: $(CLEAN_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyclobber: $(CLOBBER_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy $(RM) $(WARLOCK_OUT) $(WARLOCK_OK)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xylint: $(LINT_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xymodlintlib: $(MODLINTLIB_DEPS) lint32
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyclean.lint: $(CLEAN_LINT_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyinstall: $(INSTALL_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Include common targets.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyinclude $(UTSBASE)/sparc/Makefile.targ
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Defines for local commands.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyWLCC = wlcc
080575042aba2197b425ebfd52061dea061a9aa1xyTOUCH = touch
080575042aba2197b425ebfd52061dea061a9aa1xyWARLOCK = warlock
080575042aba2197b425ebfd52061dea061a9aa1xySCS = sccs
080575042aba2197b425ebfd52061dea061a9aa1xyTEST = test
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Warlock targets
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xywarlock: $(WARLOCK_OK)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy%.wlcmd:
080575042aba2197b425ebfd52061dea061a9aa1xy cd $(WLCMD_DIR); $(TEST) -f $@ || $(SCCS) get $@
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy$(WARLOCK_OK): $(WARLOCK_OUT) warlock_ddi.files ibmf.wlcmd
080575042aba2197b425ebfd52061dea061a9aa1xy $(WARLOCK) -c $(WLCMD_DIR)/ibmf.wlcmd $(WARLOCK_OUT) \
080575042aba2197b425ebfd52061dea061a9aa1xy -l ../warlock/ddi_dki_impl.ll
080575042aba2197b425ebfd52061dea061a9aa1xy $(TOUCH) $@
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy%.ll: $(UTSBASE)/common/io/ib/mgt/ibmf/%.c
080575042aba2197b425ebfd52061dea061a9aa1xy $(WLCC) $(CPPFLAGS) -DNPROBE -DDEBUG -o $@ $<
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xywarlock_ddi.files:
080575042aba2197b425ebfd52061dea061a9aa1xy @cd ../warlock; pwd; $(MAKE) warlock
080575042aba2197b425ebfd52061dea061a9aa1xy