blob: 09927e46ae44efcc41587375a8bb1492f792b93f [file] [log] [blame]
#
# Copyright (c) 2010-2011 Nest, Inc.
# All rights reserved.
#
# This document is the property of Nest. It is considered
# confidential and proprietary information.
#
# This document may not be reproduced or transmitted in any form,
# in whole or in part, without the express written permission of
# Nest.
#
# Description:
# This file is the makefile for the GNU binary utilities
# (binutils).
#
# The following set of packages MUST be a matched set:
#
# * Target Binary Utilities
# * Target GNU C Standard Library
# * Target GNU C++ Standard Library
# * Target GDB server and client
# * Host Cross Binary Utilities
# * Host Cross Compilers
# * Host Cross GDB client
#
# These are presumed provided by the tool chain and are simply
# sourced from it rather than built anew from source.
#
include pre.mak
# Packages that come from the tool chain (e.g. glibc, libstdc++,
# binutils) rather than the project source tree need special
# pre-processing so that we pick up the correct make file for the
# current tool chain for these packages.
#
# If the current tool chain supports target-based binutils, then there
# should be a binutils-$(ToolVendor)-$(ToolProduct)-$(ToolVersion).mak
# make file that places the target-based binutils into the results
# directory.
ToolPackageName := binutils
MakefileSuffix := .mak
ToolMakefileTuple := -$(ToolVendor)-$(ToolProduct)-$(ToolVersion)
ToolMakefile := $(wildcard $(ToolPackageName)$(ToolMakefileTuple)$(MakefileSuffix))
PackageMakefile := $(if $(ToolMakefile),$(ToolMakefile),$(wildcard $(ToolPackageName)$(MakefileSuffix)))
#
# Default, empty, targets for tool chains that don't support
# target-based binutils.
#
all: $(PackageDefaultGoal)
# Prepare the sources.
.PHONY: source
source:
# Patch the sources, if necessary.
.PHONY: patch
patch: source
# Configure the source for building.
.PHONY: configure
configure: source
# Build the source.
.PHONY: build
build: configure
# Stage the build to a temporary installation area.
.PHONY: stage
stage: build
# Attempt to include the general- or tool chain-specific make file for
# this package.
ifneq ($(PackageMakefile),)
include $(PackageMakefile)
endif
include post.mak