849N/A#
661N/A# CDDL HEADER START
661N/A#
661N/A# The contents of this file are subject to the terms of the
661N/A# Common Development and Distribution License (the "License").
661N/A# You may not use this file except in compliance with the License.
661N/A#
661N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
661N/A# or http://www.opensolaris.org/os/licensing.
661N/A# See the License for the specific language governing permissions
661N/A# and limitations under the License.
661N/A#
661N/A# When distributing Covered Code, include this CDDL HEADER in each
661N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
661N/A# If applicable, add the following below this CDDL HEADER, with the
661N/A# fields enclosed by brackets "[]" replaced with your own identifying
661N/A# information: Portions Copyright [yyyy] [name of copyright owner]
661N/A#
661N/A# CDDL HEADER END
661N/A#
661N/A
1902N/A#
1902N/A# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
661N/A# Use is subject to license terms.
661N/A#
661N/A
661N/A#
661N/A# This makefile drives the production of the Starcat specific
812N/A# UltraSPARC-III+ driver module.
661N/A#
661N/A
661N/A#
661N/A# Path to the base of the uts directory tree (usually /usr/src/uts).
661N/A#
661N/AUTSBASE = ../../..
661N/A
1518N/A#
1518N/A# Define the module and object file sets.
1518N/A#
1518N/AMODULE = SUNW,UltraSPARC-III+
1518N/AOBJECTS = $(CHEETAHPLUS_OBJS:%=$(OBJS_DIR)/%)
1518N/ALINTS = $(CHEETAHPLUS_OBJS:%.o=$(LINTS_DIR)/%.ln)
1518N/AROOTMODULE = $(ROOT_STARCAT_CPU_DIR)/$(MODULE)
1518N/ASOFTLINKS = SUNW,UltraSPARC-IV SUNW,UltraSPARC-IV+
1518N/AROOTSOFTLINKS = $(SOFTLINKS:%=$(ROOT_STARCAT_CPU_DIR)/%)
1518N/A
1518N/ACPU_DIR = .
1518N/AHERE = ../cheetahplus
1518N/A
1518N/A#
1518N/A# Include common rules.
1518N/A#
1527N/Ainclude $(UTSBASE)/sun4u/starcat/Makefile.starcat
1527N/A
1527N/A#
1527N/A# Override defaults
1527N/A#
1527N/ACLEANFILES += $(CPULIB) $(SYM_MOD)
1527N/A
1527N/A#
1527N/A# Define targets
1527N/A#
1527N/AALL_TARGET = $(SYM_MOD)
1527N/ALINT_TARGET = $(MODULE).lint
1518N/AINSTALL_TARGET = def $(BINARY) $(ROOTMODULE) $(ROOTSOFTLINKS)
1518N/A
719N/A#
719N/A# Overrides
719N/A#
719N/AALL_BUILDS = $(ALL_BUILDSONLY64)
719N/ADEF_BUILDS = $(DEF_BUILDSONLY64)
719N/ACLEANLINTFILES += $(LINT32_FILES)
719N/A
719N/A#
849N/A# lint pass one enforcement
849N/A#
719N/ACFLAGS += $(CCVERBOSE) -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
1976N/A -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
719N/AASFLAGS += -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
1976N/A -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
1976N/A
719N/ACERRWARN += -_gcc=-Wno-parentheses
1976N/ACERRWARN += -_gcc=-Wno-uninitialized
1976N/ACERRWARN += -_gcc=-Wno-unused-variable
719N/ACERRWARN += -_gcc=-Wno-type-limits
1976N/ACERRWARN += -_gcc=-Wno-clobbered
1976N/A
1976N/A#
661N/A# cpu-module-specific flags
661N/A#
661N/ACPPFLAGS += -DCPU_MODULE -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
661N/A -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
661N/AAS_CPPFLAGS += -DCPU_MODULE -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
661N/A -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
661N/A
775N/A#
775N/A# Default build targets.
775N/A#
775N/A.KEEP_STATE:
775N/A
775N/Adef: $(DEF_DEPS)
775N/A
775N/Aall: $(ALL_DEPS)
775N/A
849N/Aclean: $(CLEAN_DEPS)
849N/A
849N/Aclobber: $(CLOBBER_DEPS)
775N/A
775N/Alint: $(LINT_DEPS)
775N/A
775N/Amodlintlib: $(MODLINTLIB_DEPS) lint32
775N/A
775N/Aclean.lint: $(CLEAN_LINT_DEPS)
775N/A
775N/Ainstall: $(INSTALL_DEPS)
775N/A
775N/A$(CPULIB): $(BINARY)
775N/A $(BUILD.SO) $(BINARY)
775N/A
849N/A$(SYM_MOD): $(UNIX_O) $(CPULIB)
849N/A @echo "resolving symbols against unix.o"
849N/A @(cd $(UNIX_DIR); pwd; \
849N/A CPU_DIR=$(HERE) SYM_MOD=$(HERE)/$(SYM_MOD) $(MAKE) symcheck)
1976N/A
1976N/A$(ROOTSOFTLINKS): $(ROOTMODULE)
849N/A $(RM) $@; $(SYMLINK) $(MODULE) $@
849N/A
849N/A# Include common targets.
849N/A#
849N/Ainclude $(UTSBASE)/sun4u/starcat/Makefile.targ
849N/A