#
#    Copyright (c) 2016 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 all OpenThread firmware
#      used in the project.
#

include pre.mak

.DEFAULT_GOAL          := all

FirmwareDir             = firmware
ProductsDir             = products
FirmwareName            = ot-ncp-app
FirmwareExt             = bin
FirmwareFileName        = $(FirmwareName).$(FirmwareExt)

FirmwareProductsDir     = $(addprefix $(call Slashify,$(FirmwareDir)),$(ProductsDir))
FirmwareProductDir      = $(addprefix $(call Slashify,$(FirmwareProductsDir)),$(BuildProduct))
FirmwareSourcePath      = $(addprefix $(call Slashify,$(FirmwareProductDir)),$(FirmwareFileName))

FirmwareResultDir       = $(addprefix $(call Slashify,$(ResultDirectory)),$(FirmwareDir))
FirmwareResultPath      = $(addprefix $(call Slashify,$(FirmwareResultDir)),$(FirmwareFileName))

ResultPaths            += $(FirmwareResultPath)

all: $(FirmwareResultPath)

$(FirmwareResultDir): $(ResultDirectory)
	$(create-directory)

$(FirmwareResultPath): $(FirmwareSourcePath) | $(FirmwareResultDir)
	$(copy-result)

include post.mak
