#
#    Copyright (c) 2010 Nest Labs, Inc.
#    All rights reserved.
#
#    This document is the property of Nest Labs. 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 Labs.
#
#    Description:
#      This file is the makefile for the DENX ELDK 4.2-specific
#      staging rules and commands for the GNU C++ Standard Library.
#

# Stage the build to a temporary installation area.
#
# Per the comments at the top of this file, we simply pull the tool
# chain's C++ library. We also appear to need libgcc.

.PHONY: stage
stage: build | $(ResultDirectory)
	$(Verbose)install -d $(call GenerateResultPaths,,usr/lib)
	$(Verbose)install $(ToolLibDir)/libgcc_s.so.1		$(call GenerateResultPaths,,usr/lib/libgcc_s.so.1)
	$(Verbose)install $(ToolLibDir)/libstdc++.so.6.0.9	$(call GenerateResultPaths,,usr/lib/libstdc++.so.6.0.9)
	$(Verbose)ln -sf libgcc_s.so.1     			$(call GenerateResultPaths,,usr/lib/libgcc_s.so)
	$(Verbose)ln -sf libstdc++.so.6.0.9			$(call GenerateResultPaths,,usr/lib/libstdc++.so)
	$(Verbose)ln -sf libstdc++.so.6.0.9			$(call GenerateResultPaths,,usr/lib/libstdc++.so.6)
