## define some variables based on the AVR base path in $(AVR)
CC	= msp430-gcc
OBJCOPY	= msp430-objcopy
OBJDUMP = msp430-objdump

ifeq ($(patsubst com%,com,$(port)),com)
        PORT=com
        PORTNO=$(subst com,,$(port))
endif
ifeq ($(patsubst lpt%,lpt,$(port)),lpt)
        PORT=lpt
        PORTNO=$(subst lpt,,$(port))
endif
ifeq ($(patsubst usb%,usb,$(port)),usb)
        PORT=usb
endif

ISPPROG=default


ifeq ($(PLATFORM),ubi-coin)
ifeq ($(PORT),com)
        ISPPROG=msp_bsl
        TARGET=--telosb
endif
        COMNO = $(shell expr $(PORTNO) - 1)
endif


ifeq ($(PLATFORM),ubi-msp)
ifeq ($(PORT),com)
        ISPPROG=msp_bsl
        TARGET=--telosb
endif
        COMNO = $(shell expr $(PORTNO) - 1)
endif

ifeq ($(PLATFORM),hmote2420)
ifeq ($(PORT),com)
        ISPPROG=msp_bsl
        TARGET=--telos
endif
        COMNO = $(shell expr $(PORTNO) - 1)
endif

ifeq ($(PLATFORM),isn-400n)
        ISPPROG=msp_fet
endif

ifeq ($(PLATFORM),tmote-sky)
ifeq ($(PORT),com)
        ISPPROG=msp_bsl
        TARGET=--tmote
endif
        COMNO = $(shell expr $(PORTNO) - 1)
endif

#---------------------------------------------------------------------------------------------------------------
burn : $(ISPPROG)

default : 
	@echo "Error : Wrong ISP port given for the selected target platform."
	@echo "Usage : make burn port=[com1|com2|...]"


#MSP_BSL = msp430-bsl.exe
msp_bsl :
	@echo "    installing $(PLATFORM) binary using bsl"
	@echo "$(TRG).rom ==> $(MCU) by MSP430-BSL"
	$(NOS_HOME)/bin/mspbsl/msp430-bsl.exe $(TARGET) -c $(COMNO) -r -e -I -p $(TRG).rom
	@echo "================== Program Download Finished =================="

msp_fet:
	$(NOS_HOME)/bin/mspfet/mspfet.exe


#--option----------------------------------------------------------------------------------------------------------
#mib510 : ISP for Crossbow MIB510 through serial port
uisp_com : 
	@echo "$(TRG).rom ==> $(MCU) by UISP through COM$(PORTNO)" 
	@echo ""
	$(NOS_HOME)/bin/uisp/uisp.exe -dprog=mib510 -dserial=/dev/ttyS$(COMNO) -dpart=$(MCU) --wr_fuse_e=ff --erase --upload if=$(TRG).rom
	@echo "================== Program Download Finished =================="

#parallel port address : 0x378(default), or 0x278, 0x3BC
uisp_lpt :
	@echo "$(TRG).rom ==> $(MCU) by UISP"
	@echo ""
	$(NOS_HOME)/bin/uisp/uisp.exe -dprog=stk200 -dlpt=0x378 -dpart=$(MCU) --wr_fuse_e=ff --erase --upload if=$(TRG).rom
	@echo "================== Program Download Finished =================="
