8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# CDDL HEADER START
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# The contents of this file are subject to the terms of the
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# Common Development and Distribution License (the "License").
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# You may not use this file except in compliance with the License.
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# or http://www.opensolaris.org/os/licensing.
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# See the License for the specific language governing permissions
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# and limitations under the License.
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# When distributing Covered Code, include this CDDL HEADER in each
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# If applicable, add the following below this CDDL HEADER, with the
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# fields enclosed by brackets "[]" replaced with your own identifying
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# information: Portions Copyright [yyyy] [name of copyright owner]
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# CDDL HEADER END
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# Use is subject to license terms.
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# This makefile drives the production of the sun4v physical tpm
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# kernel module.
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# sun4v implementation architecture dependent
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# Path to the base of the uts directory tree (usually /usr/src/uts).
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys IngersollUTSBASE = ../..
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# Define the module and object file sets.
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys IngersollMODULE = tpm
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys IngersollOBJECTS = $(TPM_OBJS:%=$(OBJS_DIR)/%)
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys IngersollLINTS = $(TPM_OBJS:%.o=$(LINTS_DIR)/%.ln)
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys IngersollROOTMODULE = $(ROOT_PSM_DRV_DIR)/$(MODULE)
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# Include common rules.
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersollinclude $(UTSBASE)/sun4v/Makefile.sun4v
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# Override defaults to build a unique, local modstubs.o.
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys IngersollMODSTUBS_DIR = $(OBJS_DIR)
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys IngersollCLEANFILES += $(MODSTUBS_O)
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# Define targets
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys IngersollALL_TARGET = $(BINARY)
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys IngersollLINT_TARGET = $(MODULE).lint
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys IngersollINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# lint pass one enforcement
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys IngersollCFLAGS += $(CCVERBOSE)
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys IngersollCFLAGS += -xCC
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
06d2b6d456ee768da30398e87ca5917751ddfcc4Wyllys Ingersoll# This is for everything except /usr/include/tss
06d2b6d456ee768da30398e87ca5917751ddfcc4Wyllys IngersollCPPFLAGS += -I$(ROOT)/usr/include
06d2b6d456ee768da30398e87ca5917751ddfcc4Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# This is for /usr/include/tss/, which is not built in the ON consolidation
494f7e12a62129ef191a15f9dfde6b7abe3bf510Keith M WesolowskiCPPFLAGS += -I$(ADJUNCT_PROTO)/usr/include
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys IngersollLDFLAGS += -dy -Nmisc/kcf
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# For now, disable these lint checks; maintainers should endeavor
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# to investigate and remove these for maximum lint coverage.
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# Please do not carry these forward to new Makefiles.
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys IngersollLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys IngersollLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys IngersollLINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# Default build targets.
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll.KEEP_STATE:
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersolldef: $(DEF_DEPS)
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersollall: $(ALL_DEPS)
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersollclean: $(CLEAN_DEPS)
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersollclobber: $(CLOBBER_DEPS)
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersolllint: $(LINT_DEPS)
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersollmodlintlib: $(MODLINTLIB_DEPS)
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersollclean.lint: $(CLEAN_LINT_DEPS)
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersollinstall: $(INSTALL_DEPS)
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll# Include common targets.
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersoll#
8d26100c1d185652ac4e12e1b6c2337446ad0746Wyllys Ingersollinclude $(UTSBASE)/$(PLATFORM)/Makefile.targ