##******************************* Makefile *********************************
##           #######
##           ##  ##
##           #  ##    ####   #####    #####  ##  ##   #####
##             ##    ##  ##  ##  ##  ##      ##  ##  ##
##            ##  #  ######  ##  ##   ####   ##  ##   ####
##           ##  ##  ##      ##  ##      ##   #####      ##
##          #######   ####   ##  ##  #####       ##  #####
##                                           #####
##          Z-Wave, the wireless language.
##
##              Copyright (c) 2001
##              Zensys A/S
##              Denmark
##
##              All Rights Reserved
##
##    This source file is subject to the terms and conditions of the
##    Zensys Software License Agreement which restricts the manner
##    in which it may be used.
##
##---------------------------------------------------------------------------
##
## Description:
##    Makefile for the ZW0x0x development kit LED Dimmer
##    This makefile defines the targets built
##
## Author:   Henrik Holm
##
## Last Changed By:  $Author: efh $
## Revision:         $Revision: 12367 $
## Last Changed:     $Date: 2009-01-07 11:01:50 +0200 (Ср, 07 Січ 2009) $
##
##***************************************************************************/
# Find the current directory
# used as a base for all other paths.
BASEDIR=$(shell cd)

# The command to make dependencies from the headerfiles
# included by a file.
# INCDEP=python $(subst \,\\,$(TOOLSDIR)\IncDep\incdep.py)

# Find the product name from the subdirectoryname
BASEDIRWORDLIST=$(subst \, ,$(BASEDIR))
BASEDIRLASTWORDINDEX=$(words $(BASEDIRWORDLIST))
PRODUCTDIR=$(word $(BASEDIRLASTWORDINDEX),$(BASEDIRWORDLIST))

# Find the Z-Wave library location (if not forced by setting the environment variable ZWLIBROOT)
ifndef ZWLIBROOT
ZWLIBROOT:=$(subst \$(PRODUCTDIR),,$(subst \Product,\Z-Wave,$(BASEDIR)))
endif

# Library location when making release of application
ifdef SVNLIBRELEASEDIRBIN
ZWLIBROOT:=$(SVNLIBRELEASEDIRBIN)
endif

# Export the variables declared above to the other makefiles.
export BASEDIR ZWLIBROOT UNDERSTAND_C

BDIRS=build

default: ZW0x0x

all: default

# Standard make names
ZW0x0x: ZW0x0x_NOSEC
ZW020x: ZW020x_NOSEC
ZW030x: ZW030x_NOSEC

ZW0x0x_NOSEC: doorlock_ZW020x doorlock_ZW030x
ZW020x_NOSEC: doorlock_ZW020x
ZW030x_NOSEC: doorlock_ZW030x
ZW020x_EU:  doorlock_ZW020x_EU
ZW020x_US:  doorlock_ZW020x_US
ZW020x_ANZ: doorlock_ZW020x_ANZ
ZW020x_HK:  doorlock_ZW020x_HK
ZW020x_MY:  doorlock_ZW020x_MY
ZW020x_IN:  doorlock_ZW020x_IN
ZW020x_RU:  doorlock_ZW020x_RU
ZW030x_EU:  doorlock_ZW030x_EU
ZW030x_US:  doorlock_ZW030x_US
ZW030x_ANZ: doorlock_ZW030x_ANZ
ZW030x_HK:  doorlock_ZW030x_HK
ZW030x_MY:  doorlock_ZW030x_MY
ZW030x_IN:  doorlock_ZW030x_IN
ZW030x_RU:  doorlock_ZW030x_RU

ZW0x0x_NOSEC_NOFLIRS: doorlock_noflirs_ZW020x doorlock_noflirs_ZW030x
ZW020x_NOSEC_NOFLIRS: doorlock_noflirs_ZW020x
ZW030x_NOSEC_NOFLIRS: doorlock_noflirs_ZW030x
ZW020x_EU_NOFLIRS:  doorlock_noflirs_ZW020x_EU
ZW020x_US_NOFLIRS:  doorlock_noflirs_ZW020x_US
ZW020x_ANZ_NOFLIRS: doorlock_noflirs_ZW020x_ANZ
ZW020x_HK_NOFLIRS:  doorlock_noflirs_ZW020x_HK
ZW020x_MY_NOFLIRS:  doorlock_noflirs_ZW020x_MY
ZW020x_IN_NOFLIRS:  doorlock_noflirs_ZW020x_IN
ZW020x_RU_NOFLIRS:  doorlock_noflirs_ZW020x_RU
ZW030x_EU_NOFLIRS:  doorlock_noflirs_ZW030x_EU
ZW030x_US_NOFLIRS:  doorlock_noflirs_ZW030x_US
ZW030x_ANZ_NOFLIRS: doorlock_noflirs_ZW030x_ANZ
ZW030x_HK_NOFLIRS:  doorlock_noflirs_ZW030x_HK
ZW030x_MY_NOFLIRS:  doorlock_noflirs_ZW030x_MY
ZW030x_IN_NOFLIRS:  doorlock_noflirs_ZW030x_IN
ZW030x_RU_NOFLIRS:  doorlock_noflirs_ZW030x_RU


doorlock_ZW020x: doorlock_ZW020x_EU doorlock_ZW020x_US doorlock_ZW020x_ANZ doorlock_ZW020x_HK doorlock_ZW020x_MY doorlock_ZW020x_IN doorlock_ZW020x_RU
doorlock_ZW030x: doorlock_ZW030x_EU doorlock_ZW030x_US doorlock_ZW030x_ANZ doorlock_ZW030x_HK doorlock_ZW030x_MY doorlock_ZW030x_IN doorlock_ZW030x_RU

doorlock_noflirs_ZW020x: doorlock_noflirs_ZW020x_EU doorlock_noflirs_ZW020x_US doorlock_noflirs_ZW020x_ANZ doorlock_noflirs_ZW020x_HK doorlock_noflirs_ZW020x_MY doorlock_noflirs_ZW020x_IN doorlock_noflirs_ZW020x_RU
doorlock_noflirs_ZW030x: doorlock_noflirs_ZW030x_EU doorlock_noflirs_ZW030x_US doorlock_noflirs_ZW030x_ANZ doorlock_noflirs_ZW030x_HK doorlock_noflirs_ZW030x_MY doorlock_noflirs_ZW030x_IN doorlock_noflirs_ZW030x_RU

##***************************************************************************/
# Include secure targets (if any)
-include Makefile.SecureTargets

##***************************************************************************/
# Include test targets (if any)
-include Makefile.TestTargets
-include Makefile.Testdefines

dirs: $(BDIRS)

MAKEOPTS=--no-print-directory -C

# The rules below this point are used to build the downloadables
# by invoking specific makefiles. They all got "depend" as a
# prerequisite to make sure that the headerfile dependencies are
# up to date before starting the build.

# Makes the dependency lines from included headerfiles.

## ZW020x target
doorlock_ZW020x_EU:MAKELINE=CHIP=ZW020x  COUNTRY=EU RF=EU
doorlock_ZW020x_EU:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_ZW020x_US:MAKELINE=CHIP=ZW020x  COUNTRY=US RF=US
doorlock_ZW020x_US:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_ZW020x_HK:MAKELINE=CHIP=ZW020x  COUNTRY=HK RF=HK
doorlock_ZW020x_HK:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_ZW020x_ANZ:MAKELINE=CHIP=ZW020x  COUNTRY=ANZ RF=ANZ
doorlock_ZW020x_ANZ:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_ZW020x_MY:MAKELINE=CHIP=ZW020x  COUNTRY=MY RF=MY
doorlock_ZW020x_MY:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_ZW020x_IN:MAKELINE=CHIP=ZW020x  COUNTRY=IN RF=IN
doorlock_ZW020x_IN:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_ZW020x_RU:MAKELINE=CHIP=ZW020x  COUNTRY=RU RF=RU
doorlock_ZW020x_RU:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common


## ZW030x target

doorlock_ZW030x_EU:MAKELINE=CHIP=ZW030x  COUNTRY=EU RF=EU
doorlock_ZW030x_EU:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_ZW030x_US:MAKELINE=CHIP=ZW030x  COUNTRY=US RF=US
doorlock_ZW030x_US:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_ZW030x_HK:MAKELINE=CHIP=ZW030x  COUNTRY=HK RF=HK
doorlock_ZW030x_HK:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_ZW030x_ANZ:MAKELINE=CHIP=ZW030x  COUNTRY=ANZ  RF=ANZ
doorlock_ZW030x_ANZ:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_ZW030x_MY:MAKELINE=CHIP=ZW030x  COUNTRY=MY  RF=MY
doorlock_ZW030x_MY:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_ZW030x_IN:MAKELINE=CHIP=ZW030x  COUNTRY=IN  RF=IN
doorlock_ZW030x_IN:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_ZW030x_RU:MAKELINE=CHIP=ZW030x  COUNTRY=RU  RF=RU
doorlock_ZW030x_RU:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common



## ZW020x FLiRS target
doorlock_noflirs_ZW020x_EU:MAKELINE=CHIP=ZW020x  COUNTRY=EU RF=EU TYPE=NOFLIRS
doorlock_noflirs_ZW020x_EU:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_noflirs_ZW020x_US:MAKELINE=CHIP=ZW020x  COUNTRY=US RF=US TYPE=NOFLIRS
doorlock_noflirs_ZW020x_US:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_noflirs_ZW020x_HK:MAKELINE=CHIP=ZW020x  COUNTRY=HK RF=HK TYPE=NOFLIRS
doorlock_noflirs_ZW020x_HK:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_noflirs_ZW020x_ANZ:MAKELINE=CHIP=ZW020x  COUNTRY=ANZ RF=ANZ TYPE=NOFLIRS
doorlock_noflirs_ZW020x_ANZ:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_noflirs_ZW020x_MY:MAKELINE=CHIP=ZW020x  COUNTRY=MY RF=MY TYPE=NOFLIRS
doorlock_noflirs_ZW020x_MY:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_noflirs_ZW020x_IN:MAKELINE=CHIP=ZW020x  COUNTRY=IN RF=IN TYPE=NOFLIRS
doorlock_noflirs_ZW020x_IN:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_noflirs_ZW020x_RU:MAKELINE=CHIP=ZW020x  COUNTRY=RU RF=RU TYPE=NOFLIRS
doorlock_noflirs_ZW020x_RU:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common


## ZW030x FLiRS target

doorlock_noflirs_ZW030x_EU:MAKELINE=CHIP=ZW030x  COUNTRY=EU RF=EU TYPE=NOFLIRS
doorlock_noflirs_ZW030x_EU:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_noflirs_ZW030x_US:MAKELINE=CHIP=ZW030x  COUNTRY=US RF=US TYPE=NOFLIRS
doorlock_noflirs_ZW030x_US:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_noflirs_ZW030x_HK:MAKELINE=CHIP=ZW030x  COUNTRY=HK RF=HK TYPE=NOFLIRS
doorlock_noflirs_ZW030x_HK:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_noflirs_ZW030x_ANZ:MAKELINE=CHIP=ZW030x  COUNTRY=ANZ RF=ANZ TYPE=NOFLIRS
doorlock_noflirs_ZW030x_ANZ:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_noflirs_ZW030x_MY:MAKELINE=CHIP=ZW030x  COUNTRY=MY RF=MY TYPE=NOFLIRS
doorlock_noflirs_ZW030x_MY:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_noflirs_ZW030x_IN:MAKELINE=CHIP=ZW030x  COUNTRY=IN RF=IN TYPE=NOFLIRS
doorlock_noflirs_ZW030x_IN:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common

doorlock_noflirs_ZW030x_RU:MAKELINE=CHIP=ZW030x  COUNTRY=RU RF=RU TYPE=NOFLIRS
doorlock_noflirs_ZW030x_RU:
	$(MAKE) depend $(MAKEOPTS) . $(MAKELINE) -f Makefile.common
	$(MAKE) $(MAKEOPTS) . $(MAKELINE) -f Makefile.common



clean:
ifeq ($(OS), Windows_NT)
	@cmd /c "if exist build\NUL rd build /s /q"
else
	@deltree /Y $(subst \,\\,build)
endif

# Catch all targets which we do not handle and tell world that
%:
	@echo Could not find rule for target '$@'
	@echo Some of the known targets are :
	@echo   doorlock_ZW020x     : ZW020x targets
	@echo   doorlock_ZW030x     : ZW030x targets


.PHONY: dirs clean depend all default world \
  ZW0x0x ZW020x ZW030x \
  ZW0x0x_NOSEC ZW020x_NOSEC ZW030x_NOSEC \
  ZW020x_EU ZW020x_US ZW020x_ANZ ZW020x_HK ZW020x_MY ZW020x_IN ZW020x_RU ZW030x_EU ZW030x_US ZW030x_ANZ ZW030x_HK ZW030x_MY ZW030x_IN ZW030x_RU \
  doorlock_ZW0x0x doorlock_ZW020x doorlock_ZW030x \
  ZW0x0x_NOSEC_NOFLIRS ZW020x_NOSEC_NOFLIRS ZW030x_NOSEC_NOFLIRS \
  ZW020x_EU_NOFLIRS ZW020x_US_NOFLIRS ZW020x_ANZ_NOFLIRS ZW020x_HK_NOFLIRS ZW020x_MY_NOFLIRS ZW020x_IN_NOFLIRS ZW020x_RU_NOFLIRS ZW030x_EU_NOFLIRS ZW030x_US_NOFLIRS ZW030x_ANZ_NOFLIRS ZW030x_HK_NOFLIRS ZW030x_MY_NOFLIRS ZW030x_IN_NOFLIRS ZW030x_RU_NOFLIRS \
  doorlock_noflirs_ZW0x0x doorlock_noflirs_ZW020x doorlock_noflirs_ZW030x \
  Makefile.Testdefines Makefile.TestTargets Makefile.SecureTargets
