Makefile revision 7c478bd95313f5f23a4c958a745db2134aa03244
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews#
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# CDDL HEADER START
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews#
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# The contents of this file are subject to the terms of the
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews# Common Development and Distribution License, Version 1.0 only
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley# (the "License"). You may not use this file except in compliance
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews# with the License.
9c3531d72aeaad6c5f01efe6a1c82023e1379e4dDavid Lawrence#
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley# or http://www.opensolaris.org/os/licensing.
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley# See the License for the specific language governing permissions
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley# and limitations under the License.
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley#
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley# When distributing Covered Code, include this CDDL HEADER in each
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley# If applicable, add the following below this CDDL HEADER, with the
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley# fields enclosed by brackets "[]" replaced with your own identifying
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley# information: Portions Copyright [yyyy] [name of copyright owner]
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley#
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley# CDDL HEADER END
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley#
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley#
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley# Use is subject to license terms.
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley#
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley#ident "%Z%%M% %I% %E% SMI"
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley#
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley
8301652f71f6cfe594361d4a70dae22ca7cd63efBob HalleyTOPDIR = ../../../../..
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halleyinclude $(TOPDIR)/uts/Makefile.uts
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley
8301652f71f6cfe594361d4a70dae22ca7cd63efBob HalleyMODULE = fs
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley
8301652f71f6cfe594361d4a70dae22ca7cd63efBob HalleyPLATLINKS = SUNW,Sun-Fire-T200
8301652f71f6cfe594361d4a70dae22ca7cd63efBob Halley
8301652f71f6cfe594361d4a70dae22ca7cd63efBob HalleyLINKED_DIRS = $(PLATLINKS:%=$(USR_PLAT_DIR)/%)
8301652f71f6cfe594361d4a70dae22ca7cd63efBob HalleyLINKED_LIB_DIRS = $(PLATLINKS:%=$(USR_PLAT_DIR)/%/lib)
8301652f71f6cfe594361d4a70dae22ca7cd63efBob HalleyLINKED_LIB_FS_DIRS = $(PLATLINKS:%=$(USR_PLAT_DIR)/%/lib/fs)
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley
88f1e866aa6e4e55f7ab535f21da96930289d026Bob Halleyall := TARGET = all
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halleyinstall := TARGET = install
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halleyclean := TARGET = clean
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David LawrenceTARG_MACH = sparcv9
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyTARG_MACH_DIR = sparcv9
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyARCHVERS = v9
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyPLATFORM = sun4v
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyARCHMMU = sfmmu
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyPROMVERS = ieee1275
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyASFLAGS += $(sparcv9_XARCH)
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyPLAT_C_SRC = machdep.c
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyARCH_C_SRC = sun4u_memlist.c sun4x_standalloc.c sun4dep.c
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyARCH_S_SRC = sparcv9_subr.s
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleySRT0_S = sun4u_srt0.s
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyINLINES =
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyLDFLAGS += -L$(TOPDIR)/psm/stand/lib/promif/$(TARG_MACH)/$(PROMVERS)/common
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley#
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley# The following libraries are build in LIBPLAT_DIR
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley#
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyLIBPLAT_DIR = $(TOPDIR)/psm/stand/lib/promif/$(TARG_MACH)/$(PROMVERS)/$(PLATFORM)
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyLIBPLAT_LIBS = libplat.a
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyLIBPLAT_L_LIBS= $(LIBPLAT_LIBS:lib%.a=llib-l%.ln)
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyLIBPLAT_DEP = $(LIBPLAT_DIR)/$(LIBPLAT_LIBS)
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyLIBPLAT_DEP_L = $(LIBPLAT_DIR)/$(LIBPLAT_L_LIBS)
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley#
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley# Platform specific libraries
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley#
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyPSMLIBS += $(LIBPLAT_LIBS:lib%.a=-l%)
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyPSMLIB_DIRS += $(LIBPLAT_DIR)
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley# MPSAS support
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyMPSAS_BUILD:sh= echo \\043
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley$(MPSAS_BUILD)ARCHOPTS += -DMPSAS
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halleyinclude ../Makefile.com
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyCPPINCS += -I$(SRC)/uts/sun4u
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyCPPINCS += -I$(ROOT)/usr/platform/sun4u/include
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley# re-define ELFCONV for 4v--- sun4v can boot ELF directly
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyELFCONV = /usr/bin/cp
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley# Don't need mapfile.inet for 4v inetboot
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyNFS_MAPFILE = $(MACH_DIR)/mapfile
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley#
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley# Set the choice of compiler.
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halleyinclude $(TOPDIR)/psm/Makefile.psm.64
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyCFLAGS64 += -xchip=ultra $(CCABS32)
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley#
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley# XXX this totally sucks since it effectively turns off -errchk=longptr64,
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley# which we really should be using.
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley#
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyLINTFLAGS64 = $(LINTFLAGS) -Xarch=v9
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley#
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley# Cross-reference customization: include all boot-related source files.
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley#
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyUTSDIR= ../../../../../uts
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleySTANDLIBDIR= ../../../../../stand/lib
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleySTANDSYSDIR= ../../../../../stand/sys
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyPROMDIRS= ../../../../promif
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyNAMESDIRS= ../../../lib/names/sparcv9 ../../../lib/names/sparc/common
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyXRDIRS += ../../sparc/common ../../common $(STANDLIBDIR) \
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley $(STANDSYSDIR) $(PROMDIRS) $(NAMESDIRS)
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyXRDEL = sun4x_srt0* sun4x_memlist*
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob HalleyXRPRUNE = i86pc i386
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halleycscope.out tags: FRC
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley $(XREF) -x $@
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley
93106f3c4923865880d6203d035f518cda6c8c1fBob HalleyFRC:
2488942fbb6bcba94345ca3b1b3c7244902212f8Bob Halley