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
080575042aba2197b425ebfd52061dea061a9aa1xy# 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#
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
080575042aba2197b425ebfd52061dea061a9aa1xy# Use is subject to license terms.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# This makefile drives the production of the Starcat specific
080575042aba2197b425ebfd52061dea061a9aa1xy# UltraSPARC-III+ driver module.
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 = SUNW,UltraSPARC-III+
080575042aba2197b425ebfd52061dea061a9aa1xyOBJECTS = $(CHEETAHPLUS_OBJS:%=$(OBJS_DIR)/%)
080575042aba2197b425ebfd52061dea061a9aa1xyLINTS = $(CHEETAHPLUS_OBJS:%.o=$(LINTS_DIR)/%.ln)
080575042aba2197b425ebfd52061dea061a9aa1xyROOTMODULE = $(ROOT_STARCAT_CPU_DIR)/$(MODULE)
080575042aba2197b425ebfd52061dea061a9aa1xySOFTLINKS = SUNW,UltraSPARC-IV SUNW,UltraSPARC-IV+
080575042aba2197b425ebfd52061dea061a9aa1xyROOTSOFTLINKS = $(SOFTLINKS:%=$(ROOT_STARCAT_CPU_DIR)/%)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyCPU_DIR = .
080575042aba2197b425ebfd52061dea061a9aa1xyHERE = ../cheetahplus
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Include common rules.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyinclude $(UTSBASE)/sun4u/starcat/Makefile.starcat
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Override defaults
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyCLEANFILES += $(CPULIB) $(SYM_MOD)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Define targets
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyALL_TARGET = $(SYM_MOD)
080575042aba2197b425ebfd52061dea061a9aa1xyLINT_TARGET = $(MODULE).lint
080575042aba2197b425ebfd52061dea061a9aa1xyINSTALL_TARGET = def $(BINARY) $(ROOTMODULE) $(ROOTSOFTLINKS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Overrides
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyALL_BUILDS = $(ALL_BUILDSONLY64)
080575042aba2197b425ebfd52061dea061a9aa1xyDEF_BUILDS = $(DEF_BUILDSONLY64)
080575042aba2197b425ebfd52061dea061a9aa1xyCLEANLINTFILES += $(LINT32_FILES)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# lint pass one enforcement
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyCFLAGS += $(CCVERBOSE) -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
080575042aba2197b425ebfd52061dea061a9aa1xy -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
080575042aba2197b425ebfd52061dea061a9aa1xyASFLAGS += -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
080575042aba2197b425ebfd52061dea061a9aa1xy -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyCERRWARN += -_gcc=-Wno-parentheses
080575042aba2197b425ebfd52061dea061a9aa1xyCERRWARN += -_gcc=-Wno-uninitialized
080575042aba2197b425ebfd52061dea061a9aa1xyCERRWARN += -_gcc=-Wno-unused-variable
080575042aba2197b425ebfd52061dea061a9aa1xyCERRWARN += -_gcc=-Wno-type-limits
080575042aba2197b425ebfd52061dea061a9aa1xyCERRWARN += -_gcc=-Wno-clobbered
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# cpu-module-specific flags
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyCPPFLAGS += -DCPU_MODULE -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
080575042aba2197b425ebfd52061dea061a9aa1xy -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
080575042aba2197b425ebfd52061dea061a9aa1xyAS_CPPFLAGS += -DCPU_MODULE -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
080575042aba2197b425ebfd52061dea061a9aa1xy -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy# Default build targets.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xy.KEEP_STATE:
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xydef: $(DEF_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyall: $(ALL_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyclean: $(CLEAN_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyclobber: $(CLOBBER_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xylint: $(LINT_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xymodlintlib: $(MODLINTLIB_DEPS) lint32
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyclean.lint: $(CLEAN_LINT_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xyinstall: $(INSTALL_DEPS)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy$(CPULIB): $(BINARY)
080575042aba2197b425ebfd52061dea061a9aa1xy $(BUILD.SO) $(BINARY)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy$(SYM_MOD): $(UNIX_O) $(CPULIB)
080575042aba2197b425ebfd52061dea061a9aa1xy @echo "resolving symbols against unix.o"
080575042aba2197b425ebfd52061dea061a9aa1xy @(cd $(UNIX_DIR); pwd; \
080575042aba2197b425ebfd52061dea061a9aa1xy CPU_DIR=$(HERE) SYM_MOD=$(HERE)/$(SYM_MOD) $(MAKE) symcheck)
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy$(ROOTSOFTLINKS): $(ROOTMODULE)
080575042aba2197b425ebfd52061dea061a9aa1xy $(RM) $@; $(SYMLINK) $(MODULE) $@
080575042aba2197b425ebfd52061dea061a9aa1xy
080575042aba2197b425ebfd52061dea061a9aa1xy# Include common targets.
080575042aba2197b425ebfd52061dea061a9aa1xy#
080575042aba2197b425ebfd52061dea061a9aa1xyinclude $(UTSBASE)/sun4u/starcat/Makefile.targ
080575042aba2197b425ebfd52061dea061a9aa1xy