19acbbeafSnn# 29acbbeafSnn# CDDL HEADER START 39acbbeafSnn# 49acbbeafSnn# The contents of this file are subject to the terms of the 59acbbeafSnn# Common Development and Distribution License (the "License"). 69acbbeafSnn# You may not use this file except in compliance with the License. 79acbbeafSnn# 89acbbeafSnn# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 99acbbeafSnn# or http://www.opensolaris.org/os/licensing. 109acbbeafSnn# See the License for the specific language governing permissions 119acbbeafSnn# and limitations under the License. 129acbbeafSnn# 139acbbeafSnn# When distributing Covered Code, include this CDDL HEADER in each 149acbbeafSnn# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 159acbbeafSnn# If applicable, add the following below this CDDL HEADER, with the 169acbbeafSnn# fields enclosed by brackets "[]" replaced with your own identifying 179acbbeafSnn# information: Portions Copyright [yyyy] [name of copyright owner] 189acbbeafSnn# 199acbbeafSnn# CDDL HEADER END 209acbbeafSnn# 219acbbeafSnn# 2280e2ca85S# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. 239acbbeafSnn# 249acbbeafSnn# This makefile drives the production of the kernel component of 259acbbeafSnn# the N-1 Solaris brand 269acbbeafSnn# 279acbbeafSnn 289acbbeafSnn# 299acbbeafSnn# Path to the base of the uts directory tree (usually /usr/src/uts). 309acbbeafSnn# 31628e3cbeSEdward PilatowiczUTSBASE = ../.. 32628e3cbeSEdward PilatowiczSN1_BASE = $(UTSBASE)/common/brand/sn1 339acbbeafSnn 349acbbeafSnn# 359acbbeafSnn# Define the module and object file sets. 369acbbeafSnn# 37628e3cbeSEdward PilatowiczMODULE = sn1_brand 38628e3cbeSEdward PilatowiczOBJECTS = $(SN1_BRAND_OBJS:%=$(OBJS_DIR)/%) 399a9ae70fSjvROOTMODULE = $(USR_BRAND_DIR)/$(MODULE) 409acbbeafSnn 419acbbeafSnn# 429acbbeafSnn# Include common rules. 439acbbeafSnn# 449acbbeafSnninclude $(UTSBASE)/intel/Makefile.intel 459acbbeafSnn 469acbbeafSnn# 479acbbeafSnn# Define targets 489acbbeafSnn# 4980e2ca85SALL_TARGET = $(BINARY) 5080e2ca85SINSTALL_TARGET = $(BINARY) $(ROOTMODULE) 51628e3cbeSEdward Pilatowicz 529acbbeafSnn 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) 709acbbeafSnn 719acbbeafSnn# 729acbbeafSnn# Default build targets. 739acbbeafSnn# 749acbbeafSnn.KEEP_STATE: 759acbbeafSnn 769acbbeafSnndef: $(DEF_DEPS) 779acbbeafSnn 789acbbeafSnnall: $(ALL_DEPS) 799acbbeafSnn 809acbbeafSnnclean: $(CLEAN_DEPS) 819acbbeafSnn 829acbbeafSnnclobber: $(CLOBBER_DEPS) 839acbbeafSnn 849acbbeafSnninstall: $(INSTALL_DEPS) 859acbbeafSnn 869acbbeafSnn# 879acbbeafSnn# Include common targets. 889acbbeafSnn# 899acbbeafSnninclude $(UTSBASE)/intel/Makefile.targ 90