eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# CDDL HEADER START
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# The contents of this file are subject to the terms of the
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# Common Development and Distribution License (the "License").
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# You may not use this file except in compliance with the License.
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# or http://www.opensolaris.org/os/licensing.
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# See the License for the specific language governing permissions
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# and limitations under the License.
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# When distributing Covered Code, include this CDDL HEADER in each
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# If applicable, add the following below this CDDL HEADER, with the
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# fields enclosed by brackets "[]" replaced with your own identifying
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# information: Portions Copyright [yyyy] [name of copyright owner]
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# CDDL HEADER END
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# uts/i86pc/i86hvm/Makefile
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# Use is subject to license terms.
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#ident "%Z%%M% %I% %E% SMI"
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# This makefile drives the production of the i86hvm platform modules.
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# i86pc implementation architecture dependent
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# Path to the base of the uts directory tree (usually /usr/src/uts).
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpUTSBASE = ../..
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# Include common rules.
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpinclude $(UTSBASE)/i86pc/i86hvm/Makefile.i86hvm
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpdef := TARGET= def
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpall := TARGET= all
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpinstall := TARGET= install
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpinstall_h := TARGET= install_h
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpclean := TARGET= clean
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpclobber := TARGET= clobber
eb0cc229f19c437a6b538d3ac0d0443268290b7eedplint := TARGET= lint
eb0cc229f19c437a6b538d3ac0d0443268290b7eedplintlib := TARGET= lintlib
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpmodlintlib := TARGET= modlintlib
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpmodlist := TARGET= modlist
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpmodlist := NO_STATE= -K $$MODSTATE$$$$
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpclean.lint := TARGET= clean.lint
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpcheck := TARGET= check
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# Default build targets.
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp.KEEP_STATE:
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp.PARALLEL: $(HVM_KMODS)
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpdef all clean clobber clean.lint modlist modlintlib: $(HVM_KMODS)
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpinstall: install_implementations .WAIT \
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp $(HVM_KMODS)
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpinstall_implementations: \
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp $(ROOT_HVM_DIR) \
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp $(ROOT_HVM_DRV_DIR) \
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp $(ROOT_HVM_MISC_DIR) \
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp $(USR_HVM_DIR)
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp$(HVM_KMODS): FRC
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET)
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpinstall_h check: FRC
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp
eb0cc229f19c437a6b538d3ac0d0443268290b7eedplintlib lint: modlintlib .WAIT $(LINT_DEPS)
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# The 'lint.platmod' target lints the i86hvm platform modules against the i86pc
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# kernel. This ends up doing all the kernel cross-checks.
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpLINT_TARGET = lint.platmod
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpINTEL_LIB_DIR = $(UTSBASE)/intel/lint-libs/$(OBJS_DIR)
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpINTEL_LINTS = genunix
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpLINT_LIBS = $(LINT_LIB) \
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp -L$(HVM_LINT_LIB_DIR) \
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp -L$(LINT_LIB_DIR) \
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp $(GENUNIX_KMODS:%=-l%) \
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp $(PARALLEL_KMODS:%=-l%) \
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp $(CLOSED_KMODS:%=-l%) \
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp -L$(INTEL_LIB_DIR) \
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp $(INTEL_LINTS:%=-l%)
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# workaround for multiply defined errors
eb0cc229f19c437a6b538d3ac0d0443268290b7eedplint.platmod := LINTFLAGS += -erroff=E_NAME_MULTIPLY_DEF2
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp
eb0cc229f19c437a6b538d3ac0d0443268290b7eedplint.platmod: modlintlib
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp @-$(ECHO) "\ni86hvm platform-dependent module: global crosschecks:"
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp @-$(LINT) $(LINTFLAGS) $(LINT_LIBS) 2>&1 | $(LGREP.2)
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp# Include common targets.
eb0cc229f19c437a6b538d3ac0d0443268290b7eedp#
eb0cc229f19c437a6b538d3ac0d0443268290b7eedpinclude $(UTSBASE)/$(PLATFORM)/i86hvm/Makefile.targ