Makefile.starcat revision 2063d9c01c4a721994a3cb528444d7f328135869
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholes# CDDL HEADER START
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholes# The contents of this file are subject to the terms of the
8495845a800cf09321436aed996188c9a92cd647bnicholes# Common Development and Distribution License (the "License").
8495845a800cf09321436aed996188c9a92cd647bnicholes# You may not use this file except in compliance with the License.
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholes# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8495845a800cf09321436aed996188c9a92cd647bnicholes# or http://www.opensolaris.org/os/licensing.
8495845a800cf09321436aed996188c9a92cd647bnicholes# See the License for the specific language governing permissions
0662ed52e814f8f08ef0e09956413a792584eddffuankg# and limitations under the License.
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholes# When distributing Covered Code, include this CDDL HEADER in each
8495845a800cf09321436aed996188c9a92cd647bnicholes# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8495845a800cf09321436aed996188c9a92cd647bnicholes# If applicable, add the following below this CDDL HEADER, with the
8495845a800cf09321436aed996188c9a92cd647bnicholes# fields enclosed by brackets "[]" replaced with your own identifying
8495845a800cf09321436aed996188c9a92cd647bnicholes# information: Portions Copyright [yyyy] [name of copyright owner]
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholes# CDDL HEADER END
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes#
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes#
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
8495845a800cf09321436aed996188c9a92cd647bnicholes# Use is subject to license terms.
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholes# Global definitions for sun4u starcat implementation specific modules.
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholes
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholes# Define directories.
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholesROOT_STARCAT_DIR = $(ROOT_PLAT_DIR)/SUNW,Sun-Fire-15000
8495845a800cf09321436aed996188c9a92cd647bnicholesROOT_STARCAT_MOD_DIR = $(ROOT_STARCAT_DIR)/kernel
8495845a800cf09321436aed996188c9a92cd647bnicholesROOT_STARCAT_KERN_DIR_32 = $(ROOT_STARCAT_MOD_DIR)
8495845a800cf09321436aed996188c9a92cd647bnicholesROOT_STARCAT_KERN_DIR_64 = $(ROOT_STARCAT_MOD_DIR)/$(SUBDIR64)
8495845a800cf09321436aed996188c9a92cd647bnicholesROOT_STARCAT_MISC_DIR_32 = $(ROOT_STARCAT_MOD_DIR)/misc
8495845a800cf09321436aed996188c9a92cd647bnicholesROOT_STARCAT_MISC_DIR_64 = $(ROOT_STARCAT_MOD_DIR)/misc/$(SUBDIR64)
8495845a800cf09321436aed996188c9a92cd647bnicholesROOT_STARCAT_DRV_DIR_32 = $(ROOT_STARCAT_MOD_DIR)/drv
8495845a800cf09321436aed996188c9a92cd647bnicholesROOT_STARCAT_DRV_DIR_64 = $(ROOT_STARCAT_MOD_DIR)/drv/$(SUBDIR64)
8495845a800cf09321436aed996188c9a92cd647bnicholesROOT_STARCAT_CPU_DIR_32 = $(ROOT_STARCAT_MOD_DIR)/cpu
8495845a800cf09321436aed996188c9a92cd647bnicholesROOT_STARCAT_CPU_DIR_64 = $(ROOT_STARCAT_MOD_DIR)/cpu/$(SUBDIR64)
8495845a800cf09321436aed996188c9a92cd647bnicholesROOT_STARCAT_CRYPTO_DIR_32 = $(ROOT_STARCAT_MOD_DIR)/crypto
8495845a800cf09321436aed996188c9a92cd647bnicholesROOT_STARCAT_CRYPTO_DIR_64 = $(ROOT_STARCAT_MOD_DIR)/crypto/$(SUBDIR64)
8495845a800cf09321436aed996188c9a92cd647bnicholes
8495845a800cf09321436aed996188c9a92cd647bnicholesROOT_STARCAT_KERN_DIR = $(ROOT_STARCAT_KERN_DIR_$(CLASS))
8495845a800cf09321436aed996188c9a92cd647bnicholesROOT_STARCAT_MISC_DIR = $(ROOT_STARCAT_MISC_DIR_$(CLASS))
8495845a800cf09321436aed996188c9a92cd647bnicholesROOT_STARCAT_DRV_DIR = $(ROOT_STARCAT_DRV_DIR_$(CLASS))
8495845a800cf09321436aed996188c9a92cd647bnicholesROOT_STARCAT_CPU_DIR = $(ROOT_STARCAT_CPU_DIR_$(CLASS))
8495845a800cf09321436aed996188c9a92cd647bnicholesROOT_STARCAT_CRYPTO_DIR = $(ROOT_STARCAT_CRYPTO_DIR_$(CLASS))
8495845a800cf09321436aed996188c9a92cd647bnicholes
8495845a800cf09321436aed996188c9a92cd647bnicholesROOT_PLAT_MOD_DIRS += $(ROOT_STARCAT_MOD_DIR)
8495845a800cf09321436aed996188c9a92cd647bnicholesROOT_PLAT_MISC_DIRS_32 += $(ROOT_STARCAT_MISC_DIR_32)
8495845a800cf09321436aed996188c9a92cd647bnicholes
8495845a800cf09321436aed996188c9a92cd647bnicholesUSR_STARCAT_DIR = $(USR_PLAT_DIR)/SUNW,Sun-Fire-15000
8495845a800cf09321436aed996188c9a92cd647bnicholesUSR_STARCAT_LIB_DIR = $(USR_STARCAT_DIR)/lib
8495845a800cf09321436aed996188c9a92cd647bnicholesUSR_STARCAT_SBIN_DIR = $(USR_STARCAT_DIR)/sbin
8495845a800cf09321436aed996188c9a92cd647bnicholesUSR_STARCAT_INC_DIR = $(USR_STARCAT_DIR)/include
8495845a800cf09321436aed996188c9a92cd647bnicholesUSR_STARCAT_ISYS_DIR = $(USR_STARCAT_INC_DIR)/sys
8495845a800cf09321436aed996188c9a92cd647bnicholes
8495845a800cf09321436aed996188c9a92cd647bnicholesSTARCAT_LINT_LIB_DIR = $(UTSBASE)/$(PLATFORM)/starcat/lint-libs/$(OBJS_DIR)
8495845a800cf09321436aed996188c9a92cd647bnicholes
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholes# Include the makefiles which define build rule templates, the
8495845a800cf09321436aed996188c9a92cd647bnicholes# collection of files per module, and a few specific flags. Note
8495845a800cf09321436aed996188c9a92cd647bnicholes# that order is significant, just as with an include path. The
8495845a800cf09321436aed996188c9a92cd647bnicholes# first build rule template which matches the files name will be
8495845a800cf09321436aed996188c9a92cd647bnicholes# used. By including these in order from most machine dependent
8495845a800cf09321436aed996188c9a92cd647bnicholes# to most machine independent, we allow a machine dependent file
8495845a800cf09321436aed996188c9a92cd647bnicholes# to be used in preference over a machine independent version
8495845a800cf09321436aed996188c9a92cd647bnicholes# (Such as a machine specific optimization, which preserves the
8495845a800cf09321436aed996188c9a92cd647bnicholes# interfaces.)
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholesinclude $(UTSBASE)/sun4u/ngdr/Makefile.files
8495845a800cf09321436aed996188c9a92cd647bnicholesinclude $(UTSBASE)/sun4u/starcat/Makefile.files
8495845a800cf09321436aed996188c9a92cd647bnicholes
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholes# Include common rules.
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholesinclude $(UTSBASE)/sun4u/Makefile.sun4u
8495845a800cf09321436aed996188c9a92cd647bnicholes
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholes# Define modules
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholesSTARCAT_KMODS += axq
8495845a800cf09321436aed996188c9a92cd647bnicholesSTARCAT_KMODS += cvc
8495845a800cf09321436aed996188c9a92cd647bnicholesSTARCAT_KMODS += cvcredir
8495845a800cf09321436aed996188c9a92cd647bnicholesSTARCAT_KMODS += dman
8495845a800cf09321436aed996188c9a92cd647bnicholesSTARCAT_KMODS += dr
8495845a800cf09321436aed996188c9a92cd647bnicholesSTARCAT_KMODS += drmach
8495845a800cf09321436aed996188c9a92cd647bnicholesSTARCAT_KMODS += fcgp2
8495845a800cf09321436aed996188c9a92cd647bnicholesSTARCAT_KMODS += gptwo_pci
8495845a800cf09321436aed996188c9a92cd647bnicholesSTARCAT_KMODS += iosram
8495845a800cf09321436aed996188c9a92cd647bnicholesSTARCAT_KMODS += mboxsc
8495845a800cf09321436aed996188c9a92cd647bnicholesSTARCAT_KMODS += platmod
8495845a800cf09321436aed996188c9a92cd647bnicholesSTARCAT_KMODS += sc_gptwocfg
8495845a800cf09321436aed996188c9a92cd647bnicholesSTARCAT_KMODS += schpc
8495845a800cf09321436aed996188c9a92cd647bnicholesSTARCAT_KMODS += sckmdrv
8495845a800cf09321436aed996188c9a92cd647bnicholesSTARCAT_KMODS += scosmb
8495845a800cf09321436aed996188c9a92cd647bnicholes
8495845a800cf09321436aed996188c9a92cd647bnicholes#
0a39e7683f6611d66c55712f50bb240428d832a1bnicholes# Define CPU modules.
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholesSTARCAT_CPU_KMODS += cheetah cheetahplus
8495845a800cf09321436aed996188c9a92cd647bnicholes
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholes# Links to UltraSparc III crypto modules
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholesSTARCAT_CRYPTO_LINKS = aes
63e6fde94d80a39bd87f3893a5f9515fdbdb7aa4bnicholes
63e6fde94d80a39bd87f3893a5f9515fdbdb7aa4bnicholes#
63e6fde94d80a39bd87f3893a5f9515fdbdb7aa4bnicholes# Everybody needs to know how to build modstubs.o and to locate unix.o
63e6fde94d80a39bd87f3893a5f9515fdbdb7aa4bnicholes#
63e6fde94d80a39bd87f3893a5f9515fdbdb7aa4bnicholesUNIX_DIR = $(UTSBASE)/$(PLATFORM)/starcat/unix
63e6fde94d80a39bd87f3893a5f9515fdbdb7aa4bnicholesMODSTUBS_DIR = $(UNIX_DIR)
8495845a800cf09321436aed996188c9a92cd647bnicholesDSF_DIR = $(UTSBASE)/$(PLATFORM)/starcat/genassym
8495845a800cf09321436aed996188c9a92cd647bnicholesLINTS_DIR = $(OBJS_DIR)
0662ed52e814f8f08ef0e09956413a792584eddffuankgLINT_LIB_DIR = $(UTSBASE)/$(PLATFORM)/starcat/lint-libs/$(OBJS_DIR)
8495845a800cf09321436aed996188c9a92cd647bnicholes
8495845a800cf09321436aed996188c9a92cd647bnicholesUNIX_O = $(UNIX_DIR)/$(OBJS_DIR)/unix.o
8495845a800cf09321436aed996188c9a92cd647bnicholes
8495845a800cf09321436aed996188c9a92cd647bnicholesLINT_LIB = $(LINT_LIB_DIR)/llib-lunix.ln
8495845a800cf09321436aed996188c9a92cd647bnicholes
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholes# Define the actual specific platforms
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholesMACHINE_DEFS = -D$(PLATFORM) -D_MACHDEP -DSFMMU -DMP -DMIXEDCPU_DR_SUPPORTED
8495845a800cf09321436aed996188c9a92cd647bnicholesMACHINE_DEFS += -D_CPU_SIGNATURE
8495845a800cf09321436aed996188c9a92cd647bnicholes
8495845a800cf09321436aed996188c9a92cd647bnicholes#
0662ed52e814f8f08ef0e09956413a792584eddffuankg# Define platform specific value
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholesMACHINE_DEFS += -DNCPU=558
8495845a800cf09321436aed996188c9a92cd647bnicholesMACHINE_DEFS += -DMAX_CPU_CHIPID=554
8495845a800cf09321436aed996188c9a92cd647bnicholesMACHINE_DEFS += -DMAX_UPA=1024
0662ed52e814f8f08ef0e09956413a792584eddffuankgMACHINE_DEFS += -DIGN_SIZE=10
8495845a800cf09321436aed996188c9a92cd647bnicholesMACHINE_DEFS += -DMAX_MEM_NODES=18
8495845a800cf09321436aed996188c9a92cd647bnicholes
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholes# Define for inline pre-processing since
8495845a800cf09321436aed996188c9a92cd647bnicholes# cpp not smart about v9 yet.
8495845a800cf09321436aed996188c9a92cd647bnicholes# It's not smart about __sparc either since it only predefines sparc.
8495845a800cf09321436aed996188c9a92cd647bnicholesCPP_DEFS_32 = -D__sparc
8495845a800cf09321436aed996188c9a92cd647bnicholesCPP_DEFS_64 = -D__sparc -D__sparcv9
8495845a800cf09321436aed996188c9a92cd647bnicholesCPP_DEFS = $(CPP_DEFS_$(CLASS))
8495845a800cf09321436aed996188c9a92cd647bnicholes
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholes# For now, disable these lint checks; maintainers should endeavor
8495845a800cf09321436aed996188c9a92cd647bnicholes# to investigate and remove these for maximum lint coverage.
8495845a800cf09321436aed996188c9a92cd647bnicholes# Please do not carry these forward to new Makefiles.
8495845a800cf09321436aed996188c9a92cd647bnicholes#
8495845a800cf09321436aed996188c9a92cd647bnicholesLINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
8495845a800cf09321436aed996188c9a92cd647bnicholesLINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
8495845a800cf09321436aed996188c9a92cd647bnicholesLINTTAGS += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
8495845a800cf09321436aed996188c9a92cd647bnicholesLINTTAGS += -erroff=E_STATIC_UNUSED
8495845a800cf09321436aed996188c9a92cd647bnicholesLINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
8495845a800cf09321436aed996188c9a92cd647bnicholesLINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
8495845a800cf09321436aed996188c9a92cd647bnicholes