#
#    Copyright (c) 2014 Nest Labs, 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 .mak to install GPU Vendor libraries.
#

.PHONY: stage-lib
stage-lib:

.PHONY: stage-sbin
stage-sbin:

.PHONY: stage-usrlib
stage-usrlib:
	$(Verbose)install -d						$(call GenerateResultPaths,,usr/lib)
	$(Verbose)install $(GpuLibsDir)/libGAL-fb.so			$(call GenerateResultPaths,,usr/lib/libGAL-fb.$(GpuLibsVer).so)
	$(Verbose)ln -sf libGAL-fb.$(GpuLibsVer).so			$(call GenerateResultPaths,,usr/lib/libGAL.so)
	$(Verbose)install $(GpuLibsDir)/libEGL-fb.so			$(call GenerateResultPaths,,usr/lib/libEGL-fb.$(GpuLibsVer).so)
	$(Verbose)ln -sf libEGL-fb.$(GpuLibsVer).so			$(call GenerateResultPaths,,usr/lib/libEGL.so)
	$(Verbose)ln -sf libEGL-fb.$(GpuLibsVer).so			$(call GenerateResultPaths,,usr/lib/libEGL.so.1)
	$(Verbose)ln -sf libEGL-fb.$(GpuLibsVer).so			$(call GenerateResultPaths,,usr/lib/libEGL.so.1.0)
	$(Verbose)install $(GpuLibsDir)/libGLESv2-fb.so			$(call GenerateResultPaths,,usr/lib/libGLESv2-fb.$(GpuLibsVer).so)
	$(Verbose)ln -sf libGLESv2-fb.$(GpuLibsVer).so			$(call GenerateResultPaths,,usr/lib/libGLESv2.so)
	$(Verbose)ln -sf libGLESv2-fb.$(GpuLibsVer).so			$(call GenerateResultPaths,,usr/lib/libGLESv2.so.2)
	$(Verbose)ln -sf libGLESv2-fb.$(GpuLibsVer).so			$(call GenerateResultPaths,,usr/lib/libGLESv2.so.2.0.0)
	$(Verbose)install $(GpuLibsDir)/libGAL_egl.fb.so		$(call GenerateResultPaths,,usr/lib/libGAL_egl.fb.$(GpuLibsVer).so)
	$(Verbose)ln -sf libGAL_egl.fb.$(GpuLibsVer).so			$(call GenerateResultPaths,,usr/lib/libGAL_egl.so)
	$(Verbose)install $(GpuLibsDir)/libVSC.so			$(call GenerateResultPaths,,usr/lib/libVSC.$(GpuLibsVer).so)
	$(Verbose)ln -sf libVSC.$(GpuLibsVer).so			$(call GenerateResultPaths,,usr/lib/libVSC.so)
	$(Verbose)install $(GpuLibsDir)/libGLSLC.so			$(call GenerateResultPaths,,usr/lib/libGLSLC.$(GpuLibsVer).so)
	$(Verbose)ln -sf libGLSLC.$(GpuLibsVer).so			$(call GenerateResultPaths,,usr/lib/libGLSLC.so)
	$(Verbose)install $(GpuLibsDir)/libVDK.so			$(call GenerateResultPaths,,usr/lib/libVDK.$(GpuLibsVer).so)
	$(Verbose)ln -sf libVDK.$(GpuLibsVer).so			$(call GenerateResultPaths,,usr/lib/libVDK.so)
	$(Verbose)install -d						$(call GenerateResultPaths,,usr/include)
	$(Verbose)install $(GpuIncDir)/*.h				$(call GenerateResultPaths,,usr/include)
	$(Verbose)install -d						$(call GenerateResultPaths,,usr/include/EGL)
	$(Verbose)install $(GpuIncDir)/EGL/*.h				$(call GenerateResultPaths,,usr/include/EGL)
	$(Verbose)install -d						$(call GenerateResultPaths,,usr/include/GLES2)
	$(Verbose)install $(GpuIncDir)/GLES2/*.h			$(call GenerateResultPaths,,usr/include/GLES2)
	$(Verbose)install -d						$(call GenerateResultPaths,,usr/include/KHR)
	$(Verbose)install $(GpuIncDir)/KHR/*.h				$(call GenerateResultPaths,,usr/include/KHR)
	$(Verbose)install -d						$(call GenerateResultPaths,,usr/include/HAL)
	$(Verbose)install $(GpuIncDir)/HAL/*.h				$(call GenerateResultPaths,,usr/include/HAL)


.PHONY: stage-usrbin prestage-usrbin
stage-usrbin: prestage-usrbin

prestage-usrbin:

.PHONY: stage-usrsbin
stage-usrsbin:
