19acbbeafSnn35248# 29acbbeafSnn35248# CDDL HEADER START 39acbbeafSnn35248# 49acbbeafSnn35248# The contents of this file are subject to the terms of the 59acbbeafSnn35248# Common Development and Distribution License (the "License"). 69acbbeafSnn35248# You may not use this file except in compliance with the License. 79acbbeafSnn35248# 89acbbeafSnn35248# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 99acbbeafSnn35248# or http://www.opensolaris.org/os/licensing. 109acbbeafSnn35248# See the License for the specific language governing permissions 119acbbeafSnn35248# and limitations under the License. 129acbbeafSnn35248# 139acbbeafSnn35248# When distributing Covered Code, include this CDDL HEADER in each 149acbbeafSnn35248# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 159acbbeafSnn35248# If applicable, add the following below this CDDL HEADER, with the 169acbbeafSnn35248# fields enclosed by brackets "[]" replaced with your own identifying 179acbbeafSnn35248# information: Portions Copyright [yyyy] [name of copyright owner] 189acbbeafSnn35248# 199acbbeafSnn35248# CDDL HEADER END 209acbbeafSnn35248# 219acbbeafSnn35248# 2280e2ca85S# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. 239acbbeafSnn35248# 249acbbeafSnn35248# This makefile drives the production of the kernel component of 259acbbeafSnn35248# the N-1 Solaris brand 269acbbeafSnn35248# 279acbbeafSnn35248 289acbbeafSnn35248# 299acbbeafSnn35248# Path to the base of the uts directory tree (usually /usr/src/uts). 309acbbeafSnn35248# 319acbbeafSnn35248UTSBASE = ../.. 32628e3cbeSEdward PilatowiczSN1_BASE = $(UTSBASE)/common/brand/sn1 339acbbeafSnn35248 349acbbeafSnn35248# 359acbbeafSnn35248# Define the module and object file sets. 369acbbeafSnn35248# 379acbbeafSnn35248MODULE = sn1_brand 389acbbeafSnn35248OBJECTS = $(SN1_BRAND_OBJS:%=$(OBJS_DIR)/%) 399a9ae70fSjv227347ROOTMODULE = $(USR_BRAND_DIR)/$(MODULE) 409acbbeafSnn35248 419acbbeafSnn35248# 429acbbeafSnn35248# Include common rules. 439acbbeafSnn35248# 449acbbeafSnn35248include $(UTSBASE)/intel/Makefile.intel 459acbbeafSnn35248 469acbbeafSnn35248# 479acbbeafSnn35248# Define targets 489acbbeafSnn35248# 4980e2ca85SALL_TARGET = $(BINARY) 5080e2ca85SINSTALL_TARGET = $(BINARY) $(ROOTMODULE) 519acbbeafSnn35248 52628e3cbeSEdward Pilatowicz 53628e3cbeSEdward Pilatowicz# 54628e3cbeSEdward Pilatowicz# Update compiler variables. 55628e3cbeSEdward Pilatowicz# 56628e3cbeSEdward PilatowiczINC_PATH += -I$(SN1_BASE) -I$(OBJS_DIR) 57fd9e7635SedpAS_INC_PATH += -I$(UTSBASE)/i86pc/genassym/$(OBJS_DIR) 58*82d0151aSRichard LoweLDFLAGS += -Nexec/elfexec 59fd9e7635Sedp 60fd9e7635Sedp# 61fd9e7635Sedp# Ugh, this is a gross hack. Sn1_brand_asm.s uses lots of defines 62fd9e7635Sedp# to simplify variable access. All these defines work fine for amd64 63fd9e7635Sedp# compiles because when compiling for amd64 we use the GNU assembler, 64fd9e7635Sedp# gas. For 32-bit code we use the Sun assembler, as. Unfortunatly 65fd9e7635Sedp# as does not handle certian constructs that gas does. So rather than 66fd9e7635Sedp# make our code less readable, we'll just use gas to compile our 32-bit 67fd9e7635Sedp# code as well. 68fd9e7635Sedp# 69fd9e7635Sedpi386_AS = $(amd64_AS) 709acbbeafSnn35248 719acbbeafSnn35248# 729acbbeafSnn35248# Default build targets. 739acbbeafSnn35248# 749acbbeafSnn35248.KEEP_STATE: 759acbbeafSnn35248 769acbbeafSnn35248def: $(DEF_DEPS) 779acbbeafSnn35248 789acbbeafSnn35248all: $(ALL_DEPS) 799acbbeafSnn35248 809acbbeafSnn35248clean: $(CLEAN_DEPS) 819acbbeafSnn35248 829acbbeafSnn35248clobber: $(CLOBBER_DEPS) 839acbbeafSnn35248 849acbbeafSnn35248install: $(INSTALL_DEPS) 859acbbeafSnn35248 869acbbeafSnn35248# 879acbbeafSnn35248# Include common targets. 889acbbeafSnn35248# 899acbbeafSnn35248include $(UTSBASE)/intel/Makefile.targ 90