#
#    Copyright (c) 2013 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 OpenThread related shell scripts.
#

include pre.mak

.DEFAULT_GOAL		   = all

ScriptSourceSuffix	   = .sh
Scripts		 	       = ncp-upgrade-check

ScriptFiles		       = $(addsuffix $(ShellSourceSuffix),$(Scripts))
ScriptSourceDirectory  = .
ScriptSourcePaths	   = $(addprefix $(call Slashify,$(ScriptSourceDirectory)),$(ScriptFiles))

ScriptResultDirectory  = $(ResultDirectory)
ScriptResultPaths      = $(call GenerateResultPaths,,$(Scripts))

ResultPaths            += $(ScriptResultPaths)

all: $(ScriptResultPaths)

$(ScriptResultPaths): $(ScriptResultDirectory)/%: $(ScriptSourceDirectory)/%$(ScriptSourceSuffix)
	$(copy-result)
	chmod +x $(@)

include post.mak
