Makefile revision 24fe0b3bf671e123467ce1df0b67cadd3614c8e4
5d92fff82718cd018f0b61a10b9ad4d2b8064c95rpluem#
bf52162f2d05c1fb1a107c7ef108de73f739b3edpquerna# CDDL HEADER START
9c67ffea79ab184351b5d554b57814e13285e758jim#
9c67ffea79ab184351b5d554b57814e13285e758jim# The contents of this file are subject to the terms of the
e9bf808f770605c1f54a9d0fb1c560115c91fd71sf# Common Development and Distribution License (the "License").
e9bf808f770605c1f54a9d0fb1c560115c91fd71sf# You may not use this file except in compliance with the License.
e9bf808f770605c1f54a9d0fb1c560115c91fd71sf#
575cc52562c51c0c8bb8de0c6eaa55a60f7f895bsf# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
575cc52562c51c0c8bb8de0c6eaa55a60f7f895bsf# or http://www.opensolaris.org/os/licensing.
575cc52562c51c0c8bb8de0c6eaa55a60f7f895bsf# See the License for the specific language governing permissions
490993ea2eda52d4fdacff247eb2657296c86f71trawick# and limitations under the License.
490993ea2eda52d4fdacff247eb2657296c86f71trawick#
03502de2853fcebaf853ed3bcfd5033894c238bbjim# When distributing Covered Code, include this CDDL HEADER in each
03502de2853fcebaf853ed3bcfd5033894c238bbjim# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
03502de2853fcebaf853ed3bcfd5033894c238bbjim# If applicable, add the following below this CDDL HEADER, with the
03502de2853fcebaf853ed3bcfd5033894c238bbjim# fields enclosed by brackets "[]" replaced with your own identifying
afee7998d5045107a7673f09bc3448a5dc1b6612jim# information: Portions Copyright [yyyy] [name of copyright owner]
afee7998d5045107a7673f09bc3448a5dc1b6612jim#
6ec154950417d0b32082f6590ffa3acc3e0c3d49sf# CDDL HEADER END
6ec154950417d0b32082f6590ffa3acc3e0c3d49sf#
6ec154950417d0b32082f6590ffa3acc3e0c3d49sf
6ec154950417d0b32082f6590ffa3acc3e0c3d49sf#
b38e1e2f118f67818f88faee827f4b3a2881e908sf# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
3d636d91428f2c0a74012c89a94ec7d5b40aa52esf# Use is subject to license terms.
b38e1e2f118f67818f88faee827f4b3a2881e908sf#
33e53d7c6aa5d004d96ea11d7f3ca35b30e82544trawick
33e53d7c6aa5d004d96ea11d7f3ca35b30e82544trawick#
20e0c71be778348516719e1e58a9f55c8e78c570trawick# This makefile drives the production of the Serengeti
027f7b141f164258b254c38319d06452b25d7660trawick# UltraSPARC driver module.
027f7b141f164258b254c38319d06452b25d7660trawick#
977c4527be5a21182f24fc22a40a79d576a52f86trawick
977c4527be5a21182f24fc22a40a79d576a52f86trawick#
977c4527be5a21182f24fc22a40a79d576a52f86trawick# Path to the base of the uts directory tree (usually /usr/src/uts).
7fef9f66804ea10d5bf343cdd3d607465e8340cajim#
7fef9f66804ea10d5bf343cdd3d607465e8340cajimUTSBASE = ../../..
7fef9f66804ea10d5bf343cdd3d607465e8340cajim
3770ed746d69c7a4111cba9966169bd5d7a509a6poirier#
3770ed746d69c7a4111cba9966169bd5d7a509a6poirier# Define the module and object file sets.
3770ed746d69c7a4111cba9966169bd5d7a509a6poirier#
3770ed746d69c7a4111cba9966169bd5d7a509a6poirierMODULE = SUNW,UltraSPARC-III+
3770ed746d69c7a4111cba9966169bd5d7a509a6poirierOBJECTS = $(CHEETAHPLUS_OBJS:%=$(OBJS_DIR)/%)
7bd92b29516bc4bf7351d35aa447dbe68f1e8bb4jortonLINTS = $(CHEETAHPLUS_OBJS:%.o=$(LINTS_DIR)/%.ln)
7bd92b29516bc4bf7351d35aa447dbe68f1e8bb4jortonROOTMODULE = $(ROOT_SERENGETI_CPU_DIR)/$(MODULE)
7bd92b29516bc4bf7351d35aa447dbe68f1e8bb4jortonSOFTLINKS = SUNW,UltraSPARC-IV SUNW,UltraSPARC-IV+
a81c0c1ae464b2063a21b45f80c9da8d89bb840ecovenerROOTSOFTLINKS = $(SOFTLINKS:%=$(ROOT_SERENGETI_CPU_DIR)/%)
a81c0c1ae464b2063a21b45f80c9da8d89bb840ecovener
a81c0c1ae464b2063a21b45f80c9da8d89bb840ecovenerCPU_DIR = .
ffae06377667a5d8f9699ac7512134de7000a83dminfrinHERE = ../cheetahplus
ffae06377667a5d8f9699ac7512134de7000a83dminfrin
ffae06377667a5d8f9699ac7512134de7000a83dminfrin#
ffae06377667a5d8f9699ac7512134de7000a83dminfrin# Include common rules.
efc81fe729a2b7401028387da184b4a98f0b854atrawick#
efc81fe729a2b7401028387da184b4a98f0b854atrawickinclude $(UTSBASE)/sun4u/serengeti/Makefile.serengeti
efc81fe729a2b7401028387da184b4a98f0b854atrawick
efc81fe729a2b7401028387da184b4a98f0b854atrawick#
9c67ffea79ab184351b5d554b57814e13285e758jim# Override defaults
8f066564bfc0fd6ddc6ca4b2f2410615554597d1jim#
8f066564bfc0fd6ddc6ca4b2f2410615554597d1jimCLEANFILES += $(CPULIB) $(SYM_MOD)
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim#
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim# Define targets
29ecbd9db1622e74964264d078336f7604d65093jim#
29ecbd9db1622e74964264d078336f7604d65093jimSYM_MOD = $(OBJS_DIR)/unix.sym
29ecbd9db1622e74964264d078336f7604d65093jimALL_TARGET = $(SYM_MOD)
a503caacf7ab36d5bc42cb7c78256e1221642656jimLINT_TARGET = $(MODULE).lint
a503caacf7ab36d5bc42cb7c78256e1221642656jimINSTALL_TARGET = def $(BINARY) $(ROOTMODULE) $(ROOTSOFTLINKS)
da40dfabefd6f8eb8450e9a097c594ee2ab13e3eminfrin
da40dfabefd6f8eb8450e9a097c594ee2ab13e3eminfrin#
da40dfabefd6f8eb8450e9a097c594ee2ab13e3eminfrin# Overrides
da40dfabefd6f8eb8450e9a097c594ee2ab13e3eminfrin#
59d316b83d42d2a07e25c20d8c35a07b369618bdsfALL_BUILDS = $(ALL_BUILDSONLY64)
59d316b83d42d2a07e25c20d8c35a07b369618bdsfDEF_BUILDS = $(DEF_BUILDSONLY64)
59d316b83d42d2a07e25c20d8c35a07b369618bdsfCLEANLINTFILES += $(LINT32_FILES)
59d316b83d42d2a07e25c20d8c35a07b369618bdsf
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf#
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf# lint pass one enforcement
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf#
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sfCFLAGS += $(CCVERBOSE) -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jimASFLAGS += -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim#
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim# cpu-module-specific flags
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim#
3e2582713ed6883683272fbc628a27419d0ed543minfrinCPPFLAGS += -DCPU_MODULE -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
3e2582713ed6883683272fbc628a27419d0ed543minfrin -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
3e2582713ed6883683272fbc628a27419d0ed543minfrinAS_CPPFLAGS += -DCPU_MODULE -DCHEETAH -DCHEETAH_PLUS -DCPU_IMP_L1_CACHE_PARITY \
3e2582713ed6883683272fbc628a27419d0ed543minfrin -DCPU_IMP_ECACHE_ASSOC -DCPU_IMP_DUAL_PAGESIZE -DCPU_IMP_AFSR_EXT
2c132b1e3610da2fb9e6b3594a313efa3ff29e22minfrin
2c132b1e3610da2fb9e6b3594a313efa3ff29e22minfrin
2c132b1e3610da2fb9e6b3594a313efa3ff29e22minfrin#
a46801e6532423aa7bd184471eb49158d7c9ae62sf# Default build targets.
a46801e6532423aa7bd184471eb49158d7c9ae62sf#
a46801e6532423aa7bd184471eb49158d7c9ae62sf.KEEP_STATE:
808a26d70f28498b9d7252a70d9fb23def781901minfrin
808a26d70f28498b9d7252a70d9fb23def781901minfrindef: $(DEF_DEPS)
ef12246b88300687bf1faaf56d115dd8d8d82761jorton
6f9bf764bc79571d1da19dfbbd78527fca278a8eminfrinall: $(ALL_DEPS)
6f9bf764bc79571d1da19dfbbd78527fca278a8eminfrin
6f9bf764bc79571d1da19dfbbd78527fca278a8eminfrinclean: $(CLEAN_DEPS)
6f9bf764bc79571d1da19dfbbd78527fca278a8eminfrin
7d59a9f282af9dce031b61062a0d941641101237rpluemclobber: $(CLOBBER_DEPS)
7d59a9f282af9dce031b61062a0d941641101237rpluem
7d59a9f282af9dce031b61062a0d941641101237rpluemlint: $(LINT_DEPS)
e63e8b4b886d2144fed7946d0fbe8d27386be2dcjorton
e63e8b4b886d2144fed7946d0fbe8d27386be2dcjortonmodlintlib: $(MODLINTLIB_DEPS)
e63e8b4b886d2144fed7946d0fbe8d27386be2dcjorton
223c64b836fbc2bc8611da9604379dfe13f56abasfclean.lint: $(CLEAN_LINT_DEPS)
223c64b836fbc2bc8611da9604379dfe13f56abasf
223c64b836fbc2bc8611da9604379dfe13f56abasfinstall: $(INSTALL_DEPS)
bf507cc1e6ad55303c3d436c6ca153f46c788be6sf
bf507cc1e6ad55303c3d436c6ca153f46c788be6sf$(CPULIB): $(BINARY)
bf507cc1e6ad55303c3d436c6ca153f46c788be6sf $(BUILD.SO) $(BINARY)
bf507cc1e6ad55303c3d436c6ca153f46c788be6sf
93cf7fc650197b941ae31a7c7e51e901b129e954igalic$(SYM_MOD): $(UNIX_O) $(CPULIB)
93cf7fc650197b941ae31a7c7e51e901b129e954igalic @echo "resolving symbols against unix.o"
93cf7fc650197b941ae31a7c7e51e901b129e954igalic @echo $(UNIX_DIR)
a1b1c78faf7969affb320f5c8eb270ffa21314c4rjung @echo $(OBJS_DIR)
a1b1c78faf7969affb320f5c8eb270ffa21314c4rjung @(cd $(UNIX_DIR); pwd; \
a1b1c78faf7969affb320f5c8eb270ffa21314c4rjung CPU_DIR=$(HERE) SYM_MOD=$(HERE)/$(SYM_MOD) $(MAKE) symcheck)
a2558ec3af4391b7da7fe61e1e53383bbd0174b9jorton
a2558ec3af4391b7da7fe61e1e53383bbd0174b9jorton$(ROOTSOFTLINKS): $(ROOTMODULE)
a2558ec3af4391b7da7fe61e1e53383bbd0174b9jorton $(RM) $@; $(SYMLINK) $(MODULE) $@
a2558ec3af4391b7da7fe61e1e53383bbd0174b9jorton
8d6b3720340d0bd7f8d25e2a8563527e97a48df8jorton# Include common targets.
8d6b3720340d0bd7f8d25e2a8563527e97a48df8jorton#
8d6b3720340d0bd7f8d25e2a8563527e97a48df8jortoninclude $(UTSBASE)/sun4u/serengeti/Makefile.targ
8d6b3720340d0bd7f8d25e2a8563527e97a48df8jorton