
################### Select Build configuration ##################

CFLAGS= -Wall -g -c -fno-common -Os -std=c99

RSI_802154_BUFFER_MGMT_H_PATH = ../../../../utilities/buffer_management/inc
RSI_802154_QUEUE_MGMT_H_PATH = ../../../..//utilities/queue_management/inc
RSI_802154_STCK_CONFIG_INC = ../../../../utilities/stack_configuration/inc
####################################### ZCL #######################################

#ZCL_Closures
RSI_ZIGBEE_ZCL_CLOSURES_H_PATH = ../../../../zcl/ZCL_Closures/inc
RSI_ZIGBEE_ZCL_CLOSURES_SRC_PATH = ../../../../zcl/ZCL_Closures/src

#ZCL_Common:
RSI_ZIGBEE_ZCL_COMMON_H_PATH = ../../../../zcl/ZCL_Common/inc

#ZCL_Foundation
RSI_ZIGBEE_ZCL_FOUNDATION_H_PATH = ../../../../zcl/ZCL_Foundation/inc
RSI_ZIGBEE_ZCL_FOUNDATION_SRC_PATH = ../../../../zcl/ZCL_Foundation/src


#ZCL_General
RSI_ZIGBEE_ZCL_GENERAL_H_PATH = ../../../../zcl/ZCL_General/inc
RSI_ZIGBEE_ZCL_GENERAL_SRC_PATH = ../../../../zcl/ZCL_General/src

#ZCL_HA
RSI_ZIGBEE_ZCL_HA_H_PATH = ../../../../zcl/ZCL_HA/inc
RSI_ZIGBEE_ZCL_HA_SRC_PATH = ../../../../zcl/ZCL_HA/src

#ZCL_HVAC
RSI_ZIGBEE_ZCL_HAVAC_H_PATH = ../../../../zcl/ZCL_HVAC/inc
RSI_ZIGBEE_ZCL_HAVAC_SRC_PATH = ../../../../zcl/ZCL_HVAC/src

#ZCL_Lighting
RSI_ZIGBEE_ZCL_LIGHTING_H_PATH = ../../../../zcl/ZCL_Lighting/inc
RSI_ZIGBEE_ZCL_LIGHTING_SRC_PATH = ../../../../zcl/ZCL_Lighting/src

RSI_ZIGBEE_ZCL_INTERFACE_H_PATH = ../../../../zcl/ZCL_Interface

#ZCL_Measurement_And_Sensing
RSI_ZIGBEE_ZCL_MEASURE_SENSING_H_PATH = ../../../../zcl/ZCL_Measurement_And_Sensing/inc
RSI_ZIGBEE_ZCL_MEASURE_SENSING_SRC_PATH = ../../../../zcl/ZCL_Measurement_And_Sensing/src

#ZCL_SE
RSI_ZIGBEE_ZCL_SE_H_PATH = ../../../../zcl/ZCL_SE/inc
RSI_ZIGBEE_ZCL_SE_SRC_PATH = ../../../../zcl/ZCL_SE/src

#ZCL_Security_And_Safety
RSI_ZIGBEE_ZCL_SECURITY_SAFETY_H_PATH = ../../../../zcl/ZCL_Security_And_Safety/inc
RSI_ZIGBEE_ZCL_SECURITY_SAFETY_SRC_PATH = ../../../../zcl/ZCL_Security_And_Safety/src

#ZCL_Stack_Utility
RSI_ZIGBEE_ZCL_STACK_UTIL_H_PATH = ../../../../zcl/ZCL_Stack_Utility/inc
RSI_ZIGBEE_ZCL_STACK_UTIL_SRC_PATH = ../../../../zcl/ZCL_Stack_Utility/src

#ZLL_Utilities
RSI_ZIGBEE_ZLL_CLOSURES_H_PATH = ../../../../zcl/ZLL_Utilities/inc
RSI_ZIGBEE_ZLL_CLOSURES_SRC_PATH = ../../../../zcl/ZLL_Utilities/src

#ZigBee Utilities
RSI_ZIGBEE_UTILS_H_PATH = ../../../../test_harness_utils/ZigBee_Utilities/inc
RSI_ZIGBEE_UTILS_SRC_PATH = ../../../../test_harness_utils/ZigBee_Utilities/src

#ZigBee Fragmentation
RSI_ZIGBEE_FRAGMENTATION_H_PATH = ../../../../test_harness_utils/Fragmentation/inc
####################################### ZCL #######################################

################################# AppProfile_Utils ################################
#AppProfile_Utilities
RSI_ZIGBEE_APP_PROFILE_UTILS_H_PATH = ../../../../utilities/app_profile_utilities/inc
RSI_ZIGBEE_APP_PROFILE_UTILS_SRC_PATH = ../../../../utilities/app_profile_utilities/src



################################# AppProfile_Utils ################################

################################### APPLICATION ###################################

#TEST HARNESS
RSI_TESTAPP_CLR_TH_INC = ../inc
RSI_TESTAPP_CLR_TH_SRC = ../src
RSI_INC_PATH = ../../../../include/
RSI_DRIVER_PATH = ../../../../../../include/

################################### APPLICATION ###################################

#CFLAGS += -I $(RSI_ZIGBEE_ZCL_CLOSURES_H_PATH)/ -I $(RSI_ZIGBEE_ZCL_COMMON_H_PATH)/ -I $(RSI_ZIGBEE_ZCL_FOUNDATION_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_GENERAL_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_HA_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_HAVAC_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_INTERFACE_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_HAVAC_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_MEASURE_SENSING_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_SE_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_SECURITY_SAFETY_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_LIGHTING_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_STACK_UTIL_H_PATH)/ -I$(RSI_ZIGBEE_ZLL_CLOSURES_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_INTERFACE_H_PATH)/ -I$(RSI_TESTAPP_CLR_TH_INC)/ -I$(RSI_802154_MAC_COMMON_H_PATH)/ -I$(RSI_MMAC_H_PATH)/ -I $(H_PATH)/ -I$(RSI_ZIGBEE_STK_INTRF_H_PATH)/ -I$(RSI_ZIGBEE_CONFIG_H_PATH)/ -I$(RSI_TESTAPP_DL_TH_INC)/ -I$(RSI_802154_BUFFER_MGMT_H_PATH)/ -I$(RSI_ZIGBEE_APP_PROFILE_UTILS_H_PATH)/ -I$(RSI_802154_SW_TIMER_H_PATH)/ -I$(RSI_802154_STCK_CONFIG_INC)/ -I$(RSI_ZIGBEE_UTILS_H_PATH)/ -I$(RSI_802154_QUEUE_MGMT_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_STACK_UTIL_H_PATH)/ -I$(RSI_TESTAPP_USB_TL_INC)/ -I$(RSI_802154_H_PATH)/ -I$(H_PATH)/ -I $(USB_H_PATH) -I $(API_H_PATH)/ -I $(API_SOC_H_PATH)/ -I $(API_LIB_H_PATH)/ -I $(RSI_802154_H_PATH)/ -I$(RSI_802154_STACK_EVENTS_INC_PATH)/ -I $(RSI_ZIGBEE_UTILS_H_PATH) 
CFLAGS += -I $(RSI_ZIGBEE_ZCL_CLOSURES_H_PATH)/ -I $(RSI_ZIGBEE_ZCL_COMMON_H_PATH)/ -I $(RSI_ZIGBEE_ZCL_FOUNDATION_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_GENERAL_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_HA_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_HAVAC_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_INTERFACE_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_HAVAC_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_MEASURE_SENSING_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_SE_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_SECURITY_SAFETY_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_LIGHTING_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_STACK_UTIL_H_PATH)/ -I$(RSI_ZIGBEE_ZLL_CLOSURES_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_INTERFACE_H_PATH)/ -I$(RSI_TESTAPP_CLR_TH_INC)/ -I$(RSI_802154_MAC_COMMON_H_PATH)/ -I$(RSI_MMAC_H_PATH)/ -I $(H_PATH)/ -I$(RSI_ZIGBEE_STK_INTRF_H_PATH)/ -I$(RSI_ZIGBEE_CONFIG_H_PATH)/ -I$(RSI_TESTAPP_DL_TH_INC)/ -I$(RSI_802154_BUFFER_MGMT_H_PATH)/ -I$(RSI_ZIGBEE_APP_PROFILE_UTILS_H_PATH)/ -I$(RSI_802154_SW_TIMER_H_PATH)/ -I$(RSI_802154_STCK_CONFIG_INC)/ -I$(RSI_ZIGBEE_UTILS_H_PATH)/ -I$(RSI_802154_QUEUE_MGMT_H_PATH)/ -I$(RSI_ZIGBEE_ZCL_STACK_UTIL_H_PATH)/ -I$(RSI_TESTAPP_USB_TL_INC)/ -I$(RSI_802154_H_PATH)/ -I$(H_PATH)/ -I $(USB_H_PATH) -I $(API_H_PATH)/ -I $(API_SOC_H_PATH)/ -I $(API_LIB_H_PATH)/ -I $(RSI_802154_H_PATH)/ -I$(RSI_802154_STACK_EVENTS_INC_PATH)/ -I $(RSI_ZIGBEE_UTILS_H_PATH)/ -I $(RSI_INC_PATH)/ -I$(RSI_ZIGBEE_FRAGMENTATION_H_PATH) 

OBJS_ZCL =	$(RSI_ZIGBEE_ZCL_FOUNDATION_SRC_PATH)/ZCL_Foundation.c \
			$(RSI_ZIGBEE_ZCL_FOUNDATION_SRC_PATH)/ZCL_Foundation_Reporting.c \
			$(RSI_ZIGBEE_ZCL_GENERAL_SRC_PATH)/ZCL_General_Basic_Cluster.c \
			$(RSI_ZIGBEE_ZCL_GENERAL_SRC_PATH)/ZCL_General_Groups_Cluster.c \
			$(RSI_ZIGBEE_ZCL_GENERAL_SRC_PATH)/ZCL_General_Identify_Cluster.c \
			$(RSI_ZIGBEE_ZCL_GENERAL_SRC_PATH)/ZCL_General_Level_Control_Cluster.c \
			$(RSI_ZIGBEE_ZCL_GENERAL_SRC_PATH)/ZCL_General_On_Off_Cluster.c \
			$(RSI_ZIGBEE_ZCL_GENERAL_SRC_PATH)/ZCL_General_Scenes_Cluster.c \
			$(RSI_ZIGBEE_ZCL_LIGHTING_SRC_PATH)/ZCL_Lighting_Color_Control_Cluster.c \
			$(RSI_ZIGBEE_ZCL_LIGHTING_SRC_PATH)/ZLL_Commissioning_Cluster.c \
			$(RSI_ZIGBEE_ZCL_STACK_UTIL_SRC_PATH)/ZCL_Stack_Utility.c \
			$(RSI_ZIGBEE_ZLL_CLOSURES_SRC_PATH)/ZLL_Interpan.c \
			$(RSI_ZIGBEE_ZLL_CLOSURES_SRC_PATH)/ZLL_Main.c \
			$(RSI_ZIGBEE_ZLL_CLOSURES_SRC_PATH)/ZLL_Network.c \
			$(RSI_ZIGBEE_ZLL_CLOSURES_SRC_PATH)/ZLL_NVM_Utilities.c \
			$(RSI_ZIGBEE_ZLL_CLOSURES_SRC_PATH)/ZLL_Process.c \
			$(RSI_ZIGBEE_ZLL_CLOSURES_SRC_PATH)/ZLL_State_Machine.c \
			$(RSI_ZIGBEE_APP_PROFILE_UTILS_SRC_PATH)/AppIdentifyUtilities.c \
			$(RSI_ZIGBEE_APP_PROFILE_UTILS_SRC_PATH)/AppColorControlUtilities.c \
			$(RSI_ZIGBEE_APP_PROFILE_UTILS_SRC_PATH)/AppLevelControlUtilities.c \
			$(RSI_ZIGBEE_APP_PROFILE_UTILS_SRC_PATH)/ApplicationThinLayer.c \
			$(RSI_ZIGBEE_APP_PROFILE_UTILS_SRC_PATH)/AppOnOffUtilities.c \
			$(RSI_ZIGBEE_APP_PROFILE_UTILS_SRC_PATH)/AppScenesUtilities.c \
			$(RSI_ZIGBEE_APP_PROFILE_UTILS_SRC_PATH)/AppTestHarness.c \
			$(RSI_ZIGBEE_APP_PROFILE_UTILS_SRC_PATH)/AppTimerUtilities.c \
			$(RSI_ZIGBEE_APP_PROFILE_UTILS_SRC_PATH)/AppZllCommissioningClusterUtilities.c \
			$(RSI_ZIGBEE_APP_PROFILE_UTILS_SRC_PATH)/AppUtilsMain.c \
			$(RSI_ZIGBEE_APP_PROFILE_UTILS_SRC_PATH)/aps_interpan_stub.c
			
OBJS_CONTROLLER_TH =	$(RSI_TESTAPP_CLR_TH_SRC)/ZLL_Controller_Application_Framework.c \
							$(RSI_TESTAPP_CLR_TH_SRC)/ZLL_Controller_Device.c \
				$(RSI_ZIGBEE_UTILS_SRC_PATH)/app_configuration.c \
				$(RSI_ZIGBEE_UTILS_SRC_PATH)/application_handler.c \
				$(RSI_ZIGBEE_UTILS_SRC_PATH)/Fragmentation_Handlers.c \
				$(RSI_ZIGBEE_UTILS_SRC_PATH)/FragmentationUtility.c 				
				
				
CFLAGS+= -Dg_XMODEM_SUPPORT_d=0
CFLAGS+= -DUNIFIED_NBCN_NSEC
CFLAGS+= -Dg_MAC_2006_d
CFLAGS+= -Dg_CHANNEL_PAGE_0_2450_MHZ_FREQ_BAND_d

CFLAGS+= -DZIGBEE_END_DEVICE
CFLAGS+= -Dg_ZLL_LIGHT_CONTROLLER_c
CFLAGS+= -Dg_ZIGBEE_STACK_PROFILE_d=1
CFLAGS+= -Dg_ZIGBEE_SECURITY_d=1
CFLAGS+= -Dg_APP_PROFILE_ID_c=0xc05e
CFLAGS+= -Dg_FREQUENCY_AGILITY_TEST_d=0
CFLAGS+= -Dg_FRAGMENTATION_TEST_d=1
CFLAGS+= -DDEBUG_TEST=0
CFLAGS+= -DZIGBEE_LIB_MEMORY_OPTIMIZATION=0
CFLAGS+= -Dg_COMMISSIONING_CAPABILITIES_d=0
CFLAGS+= -Dg_HA_1_2_d=0
CFLAGS+= -Dg_SE_PROFILE_1_1_d=0
CFLAGS+= -Dg_INTERPAN_DATA_ENABLE_d=1
CFLAGS+= -Dg_DIAGNOSTIC_CLUSTER_ENABLE_d=0
CFLAGS+= -DAPPLY_R_20_CHANGE

OBJS_TEST_SUITE = $(OBJS_CONTROLLER_TH) 

all: clean controller

controller: clean
	$(CC) $(CFLAGS) $(OBJS_ZCL) $(OBJS_TEST_SUITE)

*.o:*.c
	$(CC) $(CFLAGS) $< -o $@

clean:
	rm -f  *.o
	
