Makefile revision 02e56f3f1bfc8d9977bafb8cb5202f576dcded27
ce2eda9624349a4c191dca61cb478b039ab00998Christian Maeder#
ce2eda9624349a4c191dca61cb478b039ab00998Christian Maeder# CDDL HEADER START
81d182b21020b815887e9057959228546cf61b6bChristian Maeder#
35597678f1c9da703de8d0b6b66ea63247ebe884Christian Maeder# The contents of this file are subject to the terms of the
97018cf5fa25b494adffd7e9b4e87320dae6bf47Christian Maeder# Common Development and Distribution License (the "License").
ce2eda9624349a4c191dca61cb478b039ab00998Christian Maeder# You may not use this file except in compliance with the License.
3f69b6948966979163bdfe8331c38833d5d90ecdChristian Maeder#
ce2eda9624349a4c191dca61cb478b039ab00998Christian Maeder# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
410ff490af511ffa09b52e4de631d36a154b9730Christian Maeder# or http://www.opensolaris.org/os/licensing.
ce2eda9624349a4c191dca61cb478b039ab00998Christian Maeder# See the License for the specific language governing permissions
ad97909f160c13effd3bc73155aaa2c29902a5a1Christian Maeder# and limitations under the License.
ce2eda9624349a4c191dca61cb478b039ab00998Christian Maeder#
ce2eda9624349a4c191dca61cb478b039ab00998Christian Maeder# When distributing Covered Code, include this CDDL HEADER in each
793945d4ac7c0f22760589c87af8e71427c76118Christian Maeder# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
b1719ef0353b9eb5a00dec8e5119a99eaad718e0Christian Maeder# If applicable, add the following below this CDDL HEADER, with the
b1719ef0353b9eb5a00dec8e5119a99eaad718e0Christian Maeder# fields enclosed by brackets "[]" replaced with your own identifying
b1719ef0353b9eb5a00dec8e5119a99eaad718e0Christian Maeder# information: Portions Copyright [yyyy] [name of copyright owner]
b1719ef0353b9eb5a00dec8e5119a99eaad718e0Christian Maeder#
b1719ef0353b9eb5a00dec8e5119a99eaad718e0Christian Maeder# CDDL HEADER END
b1719ef0353b9eb5a00dec8e5119a99eaad718e0Christian Maeder#
0bc67ab104bfc3aa3233035b1c35bb7fa11cd9e3Christian Maeder
0bc67ab104bfc3aa3233035b1c35bb7fa11cd9e3Christian Maeder#
0bc67ab104bfc3aa3233035b1c35bb7fa11cd9e3Christian Maeder# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
b1719ef0353b9eb5a00dec8e5119a99eaad718e0Christian Maeder# Use is subject to license terms.
b1719ef0353b9eb5a00dec8e5119a99eaad718e0Christian Maeder#
ce2eda9624349a4c191dca61cb478b039ab00998Christian Maeder# ident "%Z%%M% %I% %E% SMI"
410ff490af511ffa09b52e4de631d36a154b9730Christian Maeder#
ce2eda9624349a4c191dca61cb478b039ab00998Christian Maeder
950e053ba55ac9c7d9c26a1ab48bd00202b29511Christian Maeder#
ad97909f160c13effd3bc73155aaa2c29902a5a1Christian Maeder# This makefile drives the production of the Starcat specific
ad97909f160c13effd3bc73155aaa2c29902a5a1Christian Maeder# UltraSPARC-III+ driver module.
950e053ba55ac9c7d9c26a1ab48bd00202b29511Christian Maeder#
ad97909f160c13effd3bc73155aaa2c29902a5a1Christian Maeder
15c12a3ac049a4528da05b1017b78145f308aeb0Christian Maeder#
51754d57079619ec1acfc7962d16478b787d3264Christian Maeder# Path to the base of the uts directory tree (usually /usr/src/uts).
15c12a3ac049a4528da05b1017b78145f308aeb0Christian Maeder#
ad270004874ce1d0697fb30d7309f180553bb315Christian MaederUTSBASE = ../../..
ad270004874ce1d0697fb30d7309f180553bb315Christian Maeder
bd4144f47c83b16ddf063b759aa06bc17a2d4a80Christian Maeder#
15c12a3ac049a4528da05b1017b78145f308aeb0Christian Maeder# Define the module and object file sets.
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#
23a00c966f2aa8da525d7a7c51933c99964426c0Christian MaederMODULE = SUNW,UltraSPARC-III+
c200224a127278d54634ca4a5079591cb989aaf3Christian MaederOBJECTS = $(CHEETAHPLUS_OBJS:%=$(OBJS_DIR)/%)
c200224a127278d54634ca4a5079591cb989aaf3Christian MaederLINTS = $(CHEETAHPLUS_OBJS:%.o=$(LINTS_DIR)/%.ln)
c200224a127278d54634ca4a5079591cb989aaf3Christian MaederROOTMODULE = $(ROOT_STARCAT_CPU_DIR)/$(MODULE)
ad97909f160c13effd3bc73155aaa2c29902a5a1Christian MaederSOFTLINKS = SUNW,UltraSPARC-IV SUNW,UltraSPARC-IV+
950e053ba55ac9c7d9c26a1ab48bd00202b29511Christian MaederROOTSOFTLINKS = $(SOFTLINKS:%=$(ROOT_STARCAT_CPU_DIR)/%)
abae801b829b32e32fff31d106245cf3b8c0a21fChristian Maeder
ad97909f160c13effd3bc73155aaa2c29902a5a1Christian MaederCPU_DIR = .
ad97909f160c13effd3bc73155aaa2c29902a5a1Christian MaederHERE = ../cheetahplus
ce2eda9624349a4c191dca61cb478b039ab00998Christian Maeder
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder#
410ff490af511ffa09b52e4de631d36a154b9730Christian Maeder# Include common rules.
72909c6c1cfe9702f5910d0a135c8b55729c7917Christian Maeder#
0f0aa53f11a0d1ab08c76428b9de73db5b17c977Christian Maederinclude $(UTSBASE)/sun4u/starcat/Makefile.starcat
ad97909f160c13effd3bc73155aaa2c29902a5a1Christian Maeder
90c174bac60a72ffd81bc3bf5ae2dd9a61943b8bChristian Maeder#
410ff490af511ffa09b52e4de631d36a154b9730Christian Maeder# Override defaults
42c01284bba8d7c8d995c8dfb96ace57d28ed1bcTill Mossakowski#
42c01284bba8d7c8d995c8dfb96ace57d28ed1bcTill MossakowskiCLEANFILES += $(CPULIB) $(SYM_MOD)
ad97909f160c13effd3bc73155aaa2c29902a5a1Christian Maeder
ce2eda9624349a4c191dca61cb478b039ab00998Christian Maeder#
ce2eda9624349a4c191dca61cb478b039ab00998Christian Maeder# Define targets
ce2eda9624349a4c191dca61cb478b039ab00998Christian Maeder#
ce2eda9624349a4c191dca61cb478b039ab00998Christian MaederALL_TARGET = $(SYM_MOD)
ce2eda9624349a4c191dca61cb478b039ab00998Christian MaederLINT_TARGET = $(MODULE).lint
ce2eda9624349a4c191dca61cb478b039ab00998Christian MaederINSTALL_TARGET = def $(BINARY) $(ROOTMODULE) $(ROOTSOFTLINKS)
ce2eda9624349a4c191dca61cb478b039ab00998Christian Maeder
ce2eda9624349a4c191dca61cb478b039ab00998Christian Maeder#
96edb3a8e970c02cc10a75d70b96a9165a4e1b91Christian Maeder# Overrides
410ff490af511ffa09b52e4de631d36a154b9730Christian Maeder#
31400d19240b9a9ce78e7f8a495f8d4951a21e30Christian MaederALL_BUILDS = $(ALL_BUILDSONLY64)
81946e2b3f6dde6167f48769bd02c7a634736856Christian MaederDEF_BUILDS = $(DEF_BUILDSONLY64)
96edb3a8e970c02cc10a75d70b96a9165a4e1b91Christian MaederCLEANLINTFILES += $(LINT32_FILES)
ce2eda9624349a4c191dca61cb478b039ab00998Christian Maeder
31400d19240b9a9ce78e7f8a495f8d4951a21e30Christian Maeder#
ce2eda9624349a4c191dca61cb478b039ab00998Christian Maeder# lint pass one enforcement
31400d19240b9a9ce78e7f8a495f8d4951a21e30Christian Maeder#
ad97909f160c13effd3bc73155aaa2c29902a5a1Christian MaederCFLAGS += $(CCVERBOSE) -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
89dc77946055c0e4cb4671c4a74c3dcd55ed41a1Christian Maeder -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
410ff490af511ffa09b52e4de631d36a154b9730Christian MaederASFLAGS += -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
88ece6e49930670e8fd3ee79c89a2e918d2fbd0cChristian Maeder -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
410ff490af511ffa09b52e4de631d36a154b9730Christian Maeder
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder#
36c6cc568751e4235502cfee00ba7b597dae78dcChristian Maeder# cpu-module-specific flags
dc4bfcb8a5092af158e8a5691c8de8d6bc8b8724Christian Maeder#
dc4bfcb8a5092af158e8a5691c8de8d6bc8b8724Christian MaederCPPFLAGS += -DCPU_MODULE -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
e0dba81bd8957764e49d5f15b5e0ab1f9411aadfChristian Maeder -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
8338fbf3cfb9cf981261d893286f070bd9fa17efChristian MaederAS_CPPFLAGS += -DCPU_MODULE -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
89dc77946055c0e4cb4671c4a74c3dcd55ed41a1Christian Maeder -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
9d515512054aaaf9c8785360391ab73091ad962dChristian Maeder
410ff490af511ffa09b52e4de631d36a154b9730Christian Maeder#
5a13581acc5a76d392c1dec01657bb3efd4dcf2dChristian Maeder# Default build targets.
9d515512054aaaf9c8785360391ab73091ad962dChristian Maeder#
0a070d04a5d89ffc97147ab6f5fbbb6994afc1ccChristian Maeder.KEEP_STATE:
410ff490af511ffa09b52e4de631d36a154b9730Christian Maeder
410ff490af511ffa09b52e4de631d36a154b9730Christian Maederdef: $(DEF_DEPS)
4ef2a978e66e2246ff0b7f00c77deb7aabb28b8eChristian Maeder
f26a1fc3851297e6483cf3fb56e9c0967b8f8b13Christian Maederall: $(ALL_DEPS)
f26a1fc3851297e6483cf3fb56e9c0967b8f8b13Christian Maeder
f26a1fc3851297e6483cf3fb56e9c0967b8f8b13Christian Maederclean: $(CLEAN_DEPS)
f26a1fc3851297e6483cf3fb56e9c0967b8f8b13Christian Maeder
f26a1fc3851297e6483cf3fb56e9c0967b8f8b13Christian Maederclobber: $(CLOBBER_DEPS)
9d515512054aaaf9c8785360391ab73091ad962dChristian Maeder
9d515512054aaaf9c8785360391ab73091ad962dChristian Maederlint: $(LINT_DEPS)
410ff490af511ffa09b52e4de631d36a154b9730Christian Maeder
4ef2a978e66e2246ff0b7f00c77deb7aabb28b8eChristian Maedermodlintlib: $(MODLINTLIB_DEPS) lint32
ad97909f160c13effd3bc73155aaa2c29902a5a1Christian Maeder
a18e8529c133e17b95180bdd2bc2abbea232f698Christian Maederclean.lint: $(CLEAN_LINT_DEPS)
a18e8529c133e17b95180bdd2bc2abbea232f698Christian Maeder
a18e8529c133e17b95180bdd2bc2abbea232f698Christian Maederinstall: $(INSTALL_DEPS)
a18e8529c133e17b95180bdd2bc2abbea232f698Christian Maeder
a18e8529c133e17b95180bdd2bc2abbea232f698Christian Maeder$(CPULIB): $(BINARY)
227dec9850d66655627ce8b7d443898896597aa9Christian Maeder $(BUILD.SO) $(BINARY)
227dec9850d66655627ce8b7d443898896597aa9Christian Maeder
227dec9850d66655627ce8b7d443898896597aa9Christian Maeder$(SYM_MOD): $(UNIX_O) $(CPULIB)
a18e8529c133e17b95180bdd2bc2abbea232f698Christian Maeder @echo "resolving symbols against unix.o"
a18e8529c133e17b95180bdd2bc2abbea232f698Christian Maeder @(cd $(UNIX_DIR); pwd; \
a18e8529c133e17b95180bdd2bc2abbea232f698Christian Maeder CPU_DIR=$(HERE) SYM_MOD=$(HERE)/$(SYM_MOD) $(MAKE) symcheck)
a18e8529c133e17b95180bdd2bc2abbea232f698Christian Maeder
a18e8529c133e17b95180bdd2bc2abbea232f698Christian Maeder$(ROOTSOFTLINKS): $(ROOTMODULE)
a18e8529c133e17b95180bdd2bc2abbea232f698Christian Maeder $(RM) $@; $(SYMLINK) $(MODULE) $@ $(CHOWNLINK) $(CHGRPLINK)
a18e8529c133e17b95180bdd2bc2abbea232f698Christian Maeder
a18e8529c133e17b95180bdd2bc2abbea232f698Christian Maeder# Include common targets.
a18e8529c133e17b95180bdd2bc2abbea232f698Christian Maeder#
a18e8529c133e17b95180bdd2bc2abbea232f698Christian Maederinclude $(UTSBASE)/sun4u/starcat/Makefile.targ
a18e8529c133e17b95180bdd2bc2abbea232f698Christian Maeder