Makefile.serengeti.shared revision 1167:9608ad751c4d
1219019Sgabor#
2219019Sgabor# CDDL HEADER START
3219019Sgabor#
4219019Sgabor# The contents of this file are subject to the terms of the
5219019Sgabor# Common Development and Distribution License (the "License").
6219019Sgabor# You may not use this file except in compliance with the License.
7219019Sgabor#
8219019Sgabor# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9219019Sgabor# or http://www.opensolaris.org/os/licensing.
10219019Sgabor# See the License for the specific language governing permissions
11219019Sgabor# and limitations under the License.
12219019Sgabor#
13219019Sgabor# When distributing Covered Code, include this CDDL HEADER in each
14219019Sgabor# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15219019Sgabor# If applicable, add the following below this CDDL HEADER, with the
16219019Sgabor# fields enclosed by brackets "[]" replaced with your own identifying
17219019Sgabor# information: Portions Copyright [yyyy] [name of copyright owner]
18219019Sgabor#
19219019Sgabor# CDDL HEADER END
20219019Sgabor#
21219019Sgabor#
22219019Sgabor# uts/sun4u/serengeti/Makefile.serengeti
23219019Sgabor# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
24219019Sgabor# Use is subject to license terms.
25219019Sgabor#
26219019Sgabor#pragma ident	"%Z%%M%	%I%	%E% SMI"
27219019Sgabor
28219019Sgabor#
29219019Sgabor#	Global definitions for sun4u implementation specific modules.
30219019Sgabor#
31219019Sgabor
32219019Sgabor#
33219019Sgabor#	Define the name of this implementation.
34219019Sgabor#
35219019Sgabor
36219019Sgabor#
37219019Sgabor#	Define directories.
38219019Sgabor#
39219019SgaborROOT_SERENGETI_DIR		= $(ROOT_PLAT_DIR)/SUNW,Sun-Fire
40219019SgaborROOT_SERENGETI_MOD_DIR		= $(ROOT_SERENGETI_DIR)/kernel
41219019Sgabor
42219019SgaborROOT_SERENGETI_KERN_DIR_32	= $(ROOT_SERENGETI_MOD_DIR)
43219019SgaborROOT_SERENGETI_KERN_DIR_64	= $(ROOT_SERENGETI_MOD_DIR)/$(SUBDIR64)
44219019SgaborROOT_SERENGETI_KERN_DIR		= $(ROOT_SERENGETI_KERN_DIR_$(CLASS))
45219019Sgabor
46219019SgaborROOT_SERENGETI_CPU_DIR_32	= $(ROOT_SERENGETI_MOD_DIR)/cpu
47219019SgaborROOT_SERENGETI_CPU_DIR_64	= $(ROOT_SERENGETI_MOD_DIR)/cpu/$(SUBDIR64)
48219019SgaborROOT_SERENGETI_CPU_DIR		= $(ROOT_SERENGETI_CPU_DIR_$(CLASS))
49219019Sgabor
50219019SgaborROOT_SERENGETI_DRV_DIR_32	= $(ROOT_SERENGETI_MOD_DIR)/drv
51219019SgaborROOT_SERENGETI_DRV_DIR_64	= $(ROOT_SERENGETI_MOD_DIR)/drv/$(SUBDIR64)
52219019SgaborROOT_SERENGETI_DRV_DIR		= $(ROOT_SERENGETI_DRV_DIR_$(CLASS))
53219019Sgabor
54219019SgaborROOT_SERENGETI_MISC_DIR_32	= $(ROOT_SERENGETI_MOD_DIR)/misc
55219019SgaborROOT_SERENGETI_MISC_DIR_64	= $(ROOT_SERENGETI_MOD_DIR)/misc/$(SUBDIR64)
56219019SgaborROOT_SERENGETI_MISC_DIR		= $(ROOT_SERENGETI_MISC_DIR_$(CLASS))
57219019Sgabor
58219019SgaborROOT_SERENGETI_CRYPTO_DIR_32	= $(ROOT_SERENGETI_MOD_DIR)/crypto
59219019SgaborROOT_SERENGETI_CRYPTO_DIR_64	= $(ROOT_SERENGETI_MOD_DIR)/crypto/$(SUBDIR64)
60219019SgaborROOT_SERENGETI_CRYPTO_DIR	= $(ROOT_SERENGETI_CRYPTO_DIR_$(CLASS))
61219019Sgabor
62219019SgaborROOT_PLAT_MOD_DIRS		+= $(ROOT_SERENGETI_MOD_DIR)
63219019SgaborROOT_PLAT_MISC_DIRS_32		+= $(ROOT_SERENGETI_MISC_DIR_32)
64219019Sgabor
65219019SgaborUSR_SERENGETI_DIR		= $(USR_PLAT_DIR)/SUNW,Sun-Fire
66219019SgaborUSR_SERENGETI_INC_DIR		= $(USR_SERENGETI_DIR)/include
67219019SgaborUSR_SERENGETI_ISYS_DIR		= $(USR_SERENGETI_INC_DIR)/sys
68219019SgaborUSR_SERENGETI_SBIN_DIR		= $(USR_SERENGETI_DIR)/sbin
69219019SgaborUSR_SERENGETI_LIB_DIR		= $(USR_SERENGETI_DIR)/lib
70219019Sgabor
71219019SgaborSERENGETI_LINT_LIB_DIR		= $(UTSBASE)/$(PLATFORM)/serengeti/lint-libs/$(OBJS_DIR)
72219019Sgabor
73219019Sgabor#
74219019Sgabor#       Include the makefiles which define build rule templates, the
75219019Sgabor#       collection of files per module, and a few specific flags. Note
76219019Sgabor#       that order is significant, just as with an include path. The
77219019Sgabor#       first build rule template which matches the files name will be
78219019Sgabor#       used. By including these in order from most machine dependent
79219019Sgabor#       to most machine independent, we allow a machine dependent file
80219019Sgabor#       to be used in preference over a machine independent version
81219019Sgabor#       (Such as a machine specific optimization, which preserves the
82219019Sgabor#       interfaces.)
83219019Sgabor#
84219019Sgabor
85219019Sgabor#
86219019Sgabor# Links to UltraSparc III crypto modules
87219019Sgabor#
88219019SgaborSERENGETI_CRYPTO_LINKS	+= aes
89219019Sgabor
90219019Sgaborinclude $(UTSTREE)/sun4u/serengeti/Makefile.files
91219019Sgabor#
92219019Sgabor#	Include common rules.
93219019Sgabor#
94219019Sgabor
95219019Sgaborinclude $(UTSTREE)/sun4u/Makefile.sun4u
96219019Sgabor
97219019Sgabor#
98219019Sgabor#	Define modules (must come after Makefile.sun4u, for CLOSED_BUILD).
99219019Sgabor#
100219019SgaborSERENGETI_KMODS	= cheetah cheetahplus  
101219019SgaborSERENGETI_KMODS	+= wrsm
102219019Sgabor$(CLOSED_BUILD)CLOSED_SERENGETI_KMODS = platmod sbdp sgcn sghsc sgsbbc
103219019Sgabor$(CLOSED_BUILD)CLOSED_SERENGETI_KMODS += ssm wrsmplat
104219019Sgabor
105219019Sgabor#
106219019Sgabor#       Everybody needs to know how to build modstubs.o and to locate unix.o
107219019Sgabor#
108219019SgaborUNIX_DIR	= $(UTSBASE)/$(PLATFORM)/serengeti/unix
109219019SgaborMODSTUBS_DIR	= $(UNIX_DIR)
110219019SgaborDSF_DIR		= $(UTSBASE)/$(PLATFORM)/serengeti/genassym
111219019SgaborLINTS_DIR	= $(OBJS_DIR)
112219019SgaborLINT_LIB_DIR	= $(UTSBASE)/$(PLATFORM)/serengeti/lint-libs/$(OBJS_DIR)
113219019Sgabor
114219019SgaborUNIX_O		= $(UNIX_DIR)/$(OBJS_DIR)/unix.o
115219019Sgabor
116219019SgaborLINT_LIB	= $(LINT_LIB_DIR)/llib-lunix.ln
117219019Sgabor
118219019Sgabor#
119219019Sgabor#       Define the actual specific platforms
120219019Sgabor#
121219019SgaborMACHINE_DEFS	= -D$(PLATFORM) -D_MACHDEP -DSFMMU -DMP -DMIXEDCPU_DR_SUPPORTED
122219019Sgabor
123219019Sgabor#
124219019Sgabor#	Define platform specific values
125219019Sgabor#
126219019SgaborMACHINE_DEFS	+= -DNCPU=558
127219019SgaborMACHINE_DEFS	+= -DMAX_CPU_CHIPID=554
128219019SgaborMACHINE_DEFS	+= -DMAX_UPA=1024
129219019SgaborMACHINE_DEFS	+= -DIGN_SIZE=10
130219019SgaborMACHINE_DEFS	+= -DMAX_MEM_NODES=8
131219019SgaborMACHINE_DEFS	+= -DLOCKED_DTLB_ENTRIES=6
132219019Sgabor# Max IOSRAM TOC major version number supported
133219019SgaborMACHINE_DEFS	+= -DMAX_IOSRAM_TOC_VER=0x1
134219019Sgabor
135219019Sgabor#	Define for inline pre-processing since
136219019Sgabor#	cpp is not smart about v9 yet.
137219019Sgabor#	It's not smart about __sparc either since it only predefines sparc.
138219019SgaborCPP_DEFS_32	= -D__sparc
139219019SgaborCPP_DEFS_64	= -D__sparc -D__sparcv9
140219019SgaborCPP_DEFS	= $(CPP_DEFS_$(CLASS))
141219019Sgabor