Makefile revision 80e2ca8596e3435bc3b76f3c597833ea0a87f85e
0N/A#
797N/A# CDDL HEADER START
0N/A#
0N/A# The contents of this file are subject to the terms of the
0N/A# Common Development and Distribution License (the "License").
0N/A# You may not use this file except in compliance with the License.
553N/A#
0N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
553N/A# or http://www.opensolaris.org/os/licensing.
0N/A# See the License for the specific language governing permissions
0N/A# and limitations under the License.
0N/A#
0N/A# When distributing Covered Code, include this CDDL HEADER in each
0N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
0N/A# If applicable, add the following below this CDDL HEADER, with the
0N/A# fields enclosed by brackets "[]" replaced with your own identifying
0N/A# information: Portions Copyright [yyyy] [name of copyright owner]
0N/A#
0N/A# CDDL HEADER END
0N/A#
553N/A#
553N/A# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
553N/A#
0N/A# This makefile drives the production of the kernel component of
0N/A# the Solaris 10 brand
0N/A#
0N/A
0N/A#
0N/A# Path to the base of the uts directory tree (usually /usr/src/uts).
0N/A#
0N/AUTSBASE = ../..
0N/AS10_BASE = $(UTSBASE)/common/brand/solaris10
0N/A
0N/A#
0N/A# Define the module and object file sets.
0N/A#
0N/AMODULE = s10_brand
0N/AOBJECTS = $(S10_BRAND_OBJS:%=$(OBJS_DIR)/%)
765N/ALINTS = $(S10_BRAND_OBJS:%.o=$(LINTS_DIR)/%.ln)
0N/AROOTMODULE = $(USR_BRAND_DIR)/$(MODULE)
0N/A
0N/A#
0N/A# Include common rules.
0N/A#
0N/Ainclude $(UTSBASE)/intel/Makefile.intel
765N/A
0N/A#
765N/A# Define targets
765N/A#
765N/AALL_TARGET = $(BINARY)
0N/ALINT_TARGET = $(MODULE).lint
765N/AINSTALL_TARGET = $(BINARY) $(ROOTMODULE)
765N/A
0N/A
0N/A#
765N/A# Update compiler variables.
0N/A#
765N/AINC_PATH += -I$(S10_BASE) -I$(OBJS_DIR)
765N/AAS_INC_PATH += -I$(UTSBASE)/i86pc/genassym/$(OBJS_DIR)
765N/ALDFLAGS += -dy -Nexec/elfexec
0N/A
765N/A#
765N/A# Ugh, this is a gross hack. s10_brand_asm.s uses lots of defines
0N/A# to simplify variable access. All these defines work fine for amd64
0N/A# compiles because when compiling for amd64 we use the GNU assembler,
765N/A# gas. For 32-bit code we use the Sun assembler, as. Unfortunatly
0N/A# as does not handle certian constructs that gas does. So rather than
765N/A# make our code less readable, we'll just use gas to compile our 32-bit
765N/A# code as well.
0N/A#
765N/Ai386_AS = $(amd64_AS)
0N/A
0N/A#
765N/A# Default build targets.
0N/A#
765N/A.KEEP_STATE:
765N/A
0N/Adef: $(DEF_DEPS)
765N/A
0N/Aall: $(ALL_DEPS)
0N/A
765N/Aclean: $(CLEAN_DEPS)
0N/A
765N/Aclobber: $(CLOBBER_DEPS)
765N/A
0N/Alint: $(LINT_DEPS)
765N/A
0N/Amodlintlib: $(MODLINTLIB_DEPS)
0N/A
765N/Aclean.lint: $(CLEAN_LINT_DEPS)
0N/A
765N/Ainstall: $(INSTALL_DEPS)
765N/A
0N/A#
765N/A# Include common targets.
0N/A#
0N/Ainclude $(UTSBASE)/intel/Makefile.targ
765N/A