Makefile.serengeti revision 7c478bd95313f5f23a4c958a745db2134aa03244
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License, Version 1.0 only
# (the "License"). You may not use this file except in compliance
# with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# uts/sun4u/serengeti/Makefile.serengeti
# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
#pragma ident "%Z%%M% %I% %E% SMI"
#
# Global definitions for sun4u implementation specific modules.
#
#
# Define the name of this implementation.
#
#
# Define directories.
#
ROOT_SERENGETI_DIR = $(ROOT_PLAT_DIR)/SUNW,Sun-Fire
ROOT_SERENGETI_MOD_DIR = $(ROOT_SERENGETI_DIR)/kernel
ROOT_SERENGETI_KERN_DIR_32 = $(ROOT_SERENGETI_MOD_DIR)
ROOT_SERENGETI_KERN_DIR_64 = $(ROOT_SERENGETI_MOD_DIR)/$(SUBDIR64)
ROOT_SERENGETI_KERN_DIR = $(ROOT_SERENGETI_KERN_DIR_$(CLASS))
ROOT_SERENGETI_CPU_DIR_32 = $(ROOT_SERENGETI_MOD_DIR)/cpu
ROOT_SERENGETI_CPU_DIR_64 = $(ROOT_SERENGETI_MOD_DIR)/cpu/$(SUBDIR64)
ROOT_SERENGETI_CPU_DIR = $(ROOT_SERENGETI_CPU_DIR_$(CLASS))
ROOT_SERENGETI_DRV_DIR_32 = $(ROOT_SERENGETI_MOD_DIR)/drv
ROOT_SERENGETI_DRV_DIR_64 = $(ROOT_SERENGETI_MOD_DIR)/drv/$(SUBDIR64)
ROOT_SERENGETI_DRV_DIR = $(ROOT_SERENGETI_DRV_DIR_$(CLASS))
ROOT_SERENGETI_MISC_DIR_32 = $(ROOT_SERENGETI_MOD_DIR)/misc
ROOT_SERENGETI_MISC_DIR_64 = $(ROOT_SERENGETI_MOD_DIR)/misc/$(SUBDIR64)
ROOT_SERENGETI_MISC_DIR = $(ROOT_SERENGETI_MISC_DIR_$(CLASS))
ROOT_SERENGETI_CRYPTO_DIR_32 = $(ROOT_SERENGETI_MOD_DIR)/crypto
ROOT_SERENGETI_CRYPTO_DIR_64 = $(ROOT_SERENGETI_MOD_DIR)/crypto/$(SUBDIR64)
ROOT_SERENGETI_CRYPTO_DIR = $(ROOT_SERENGETI_CRYPTO_DIR_$(CLASS))
ROOT_PLAT_MOD_DIRS += $(ROOT_SERENGETI_MOD_DIR)
ROOT_PLAT_MISC_DIRS_32 += $(ROOT_SERENGETI_MISC_DIR_32)
USR_SERENGETI_DIR = $(USR_PLAT_DIR)/SUNW,Sun-Fire
USR_SERENGETI_INC_DIR = $(USR_SERENGETI_DIR)/include
USR_SERENGETI_ISYS_DIR = $(USR_SERENGETI_INC_DIR)/sys
USR_SERENGETI_SBIN_DIR = $(USR_SERENGETI_DIR)/sbin
USR_SERENGETI_LIB_DIR = $(USR_SERENGETI_DIR)/lib
SERENGETI_LINT_LIB_DIR = $(UTSBASE)/$(PLATFORM)/serengeti/lint-libs/$(OBJS_DIR)
#
# Define modules.
#
SERENGETI_KMODS = cheetah cheetahplus platmod sbdp sgcn
SERENGETI_KMODS += sghsc sgsbbc ssm wrsm wrsmplat
#
# Include the makefiles which define build rule templates, the
# collection of files per module, and a few specific flags. Note
# that order is significant, just as with an include path. The
# first build rule template which matches the files name will be
# used. By including these in order from most machine dependent
# to most machine independent, we allow a machine dependent file
# to be used in preference over a machine independent version
# (Such as a machine specific optimization, which preserves the
# interfaces.)
#
#
# Links to UltraSparc III crypto modules
#
SERENGETI_CRYPTO_LINKS += aes
include $(UTSBASE)/sun4u/serengeti/Makefile.files
#
# Include common rules.
#
include $(UTSBASE)/sun4u/Makefile.sun4u
#
# Everybody needs to know how to build modstubs.o and to locate unix.o
#
UNIX_DIR = $(UTSBASE)/$(PLATFORM)/serengeti/unix
MODSTUBS_DIR = $(UNIX_DIR)
DSF_DIR = $(UTSBASE)/$(PLATFORM)/serengeti/genassym
LINTS_DIR = $(OBJS_DIR)
LINT_LIB_DIR = $(UTSBASE)/$(PLATFORM)/serengeti/lint-libs/$(OBJS_DIR)
UNIX_O = $(UNIX_DIR)/$(OBJS_DIR)/unix.o
LINT_LIB = $(LINT_LIB_DIR)/llib-lunix.ln
#
# The following must be defined for all implementations:
#
# MAPFILE: ld mapfile for the build of kernel/unix.
# MODSTUBS: Module stubs source file.
# GENASSYM_SRC: genassym.c
# FDGENASSYM_SRC: fd_genassym.c
#
MAPFILE = $(UTSBASE)/sun4u/conf/Mapfile
MODSTUBS = $(UTSBASE)/sparc/ml/modstubs.s
GENASSYM_SRC = $(UTSBASE)/sun4u/ml/genassym.c
FDGENASSYM_SRC = $(UTSBASE)/sun/io/fd_genassym.c
#
# Define the actual specific platforms
#
MACHINE_DEFS = -D$(PLATFORM) -D_MACHDEP -DSFMMU -DMP -DMIXEDCPU_DR_SUPPORTED
#
# Define platform specific values
#
MACHINE_DEFS += -DNCPU=558
MACHINE_DEFS += -DMAX_CPU_CHIPID=554
MACHINE_DEFS += -DMAX_UPA=1024
MACHINE_DEFS += -DIGN_SIZE=10
MACHINE_DEFS += -DMAX_MEM_NODES=8
MACHINE_DEFS += -DLOCKED_DTLB_ENTRIES=6
# Max IOSRAM TOC major version number supported
MACHINE_DEFS += -DMAX_IOSRAM_TOC_VER=0x1
# Define for inline pre-processing since
# cpp is not smart about v9 yet.
# It's not smart about __sparc either since it only predefines sparc.
CPP_DEFS_32 = -D__sparc
CPP_DEFS_64 = -D__sparc -D__sparcv9
CPP_DEFS = $(CPP_DEFS_$(CLASS))