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