#
# Makefile to be included by each application's Makefile for HSN
#

ifndef BASEDIR
   include ../BaseDIR
endif

ifndef HSNDIR
   HSNDIR = ../../tos
endif

LOCAL_PATH += -I. -I$(HSNDIR)/interfaces -I$(HSNDIR)/system -I$(HSNDIR)/lib -I$(HSNDIR)/lib/neighborhood

ifeq ($(MICA2_900MHZ),1)
   LOCAL_DEFINES += -DCC1K_DEF_PRESET=0x01
endif

ifdef SINK_NODE
   LOCAL_DEFINES += -DSINK_NODE=$(SINK_NODE)
endif

ifdef NO_UART_FRAMED
   LOCAL_DEFINES += -DNO_UART_FRAMED=$(NO_UART_FRAMED)
endif

ifdef TRACE_TARGET
   LOCAL_DEFINES += -DTRACE_TARGET=$(TRACE_TARGET)
endif

ifdef TR_PIGGYBACK_LEN
   LOCAL_DEFINES += -DTR_PIGGYBACK_LEN=$(TR_PIGGYBACK_LEN)
endif

ifdef TR_PLUGIN_LEN
   LOCAL_DEFINES += -DTR_PLUGIN_LEN=$(TR_PLUGIN_LEN)
endif

ifdef TR_SEND_RATE
   LOCAL_DEFINES += -DTR_SEND_RATE=$(TR_SEND_RATE)
endif

ifdef DSDV_BI_DIR_QUALITY
   LOCAL_DEFINES += -DDSDV_BI_DIR_QUALITY=$(DSDV_BI_DIR_QUALITY)
else
   LOCAL_DEFINES += -DDSDV_BI_DIR_QUALITY=1
endif

ifdef DSDV_PERSISTANCE
   LOCAL_DEFINES += -DDSDV_PERSISTANCE=$(DSDV_PERSISTANCE)
else
   LOCAL_DEFINES += -DDSDV_PERSISTANCE=1
endif

ifdef DSDV_PASSIVE_ACK
   LOCAL_DEFINES += -DDSDV_PASSIVE_ACK=$(DSDV_PASSIVE_ACK)
else
   LOCAL_DEFINES += -DDSDV_PASSIVE_ACK=1
endif

ifdef USE_SEND_QUEUE
   LOCAL_DEFINES += -DUSE_SEND_QUEUE=$(USE_SEND_QUEUE)
endif

ifdef QUEUE_USE_PACKET_ACK
   LOCAL_DEFINES += -DQUEUE_USE_PACKET_ACK=$(QUEUE_USE_PACKET_ACK)
endif

ifdef PASSIVE_ACK_MAX_RETRIES
   LOCAL_DEFINES += -DPASSIVE_ACK_MAX_RETRIES=$(PASSIVE_ACK_MAX_RETRIES)
endif

ifdef NEIGHBOR_AGE_CACHE_TIMEOUT
   LOCAL_DEFINES += -DNEIGHBOR_AGE_CACHE_TIMEOUT=$(NEIGHBOR_AGE_CACHE_TIMEOUT)
endif

ifdef RUPDATE_RANDOMIZE
   LOCAL_DEFINES += -DRUPDATE_RANDOMIZE=$(RUPDATE_RANDOMIZE)
else
   LOCAL_DEFINES += -DRUPDATE_RANDOMIZE=1
endif

ifdef FAST_START_DSDV
   LOCAL_DEFINES += -DFAST_START_DSDV=$(FAST_START_DSDV)
else
   LOCAL_DEFINES += -DFAST_START_DSDV=1
endif

ifdef DSDV_RUPINT_DEFAULT
   LOCAL_DEFINES += -DDSDV_RUPINT_DEFAULT=$(DSDV_RUPINT_DEFAULT)
endif

ifdef USE_SYNC_ACK
   LOCAL_DEFINES += -DUSE_SYNC_ACK=$(USE_SYNC_ACK)
endif

ifdef MESH
   LOCAL_DEFINES += -DMESH=$(MESH)
endif

ifdef TXRES_VAL
   LOCAL_DEFINES += -DCONST_TXRES_VAL=$(TXRES_VAL)
endif

ifdef FAST_START_DSDV
   LOCAL_DEFINES += -DFAST_START_DSDV=$(FAST_START_DSDV)
else
   LOCAL_DEFINES += -DFAST_START_DSDV=1
endif

# ONLY in TraceRoute_DSDV.nc. Default is using Reliability Metric
ifdef HOPCOUNT_METRIC
   LOCAL_DEFINES += -DHOPCOUNT_METRIC=$(HOPCOUNT_METRIC)
endif

ifdef ENERGY_METRIC
   LOCAL_DEFINES += -DENERGY_METRIC=$(ENERGY_METRIC)
endif

ifdef PROGVER
   LOCAL_DEFINES += -DCONST_PROGVER=$(PROGVER)
endif

LOCAL_DEFINES += -DBUILD_DAY=$(shell date +%d | sed 's/^0//')
LOCAL_DEFINES += -DBUILD_MONTH=$(shell date +%m | sed 's/^0//')
LOCAL_DEFINES += -DBUILD_YEAR=$(shell date +%y | sed 's/^0//')

PFLAGS := -tosdir=$(BASEDIR) $(LOCAL_PATH) $(LOCAL_DEFINES) $(PFLAGS)

PROGRAMMER_EXTRA_FLAGS+=-v

include $(BASEDIR)/../apps/Makerules
