1 # $Id: Makefile.sky,v 1.26 2009/06/26 12:00:49 joxe Exp $
4 ARCH=msp430.c leds.c watchdog.c light.c spi.c ds2411.c \
5 xmem.c i2c.c sht11.c battery-sensor.c acc-sensor.c \
6 cc2420.c cc2420-aes.c cc2420-arch.c irq.c \
7 node-id.c sensors.c button-sensor.c cfs-coffee.c \
8 radio-sensor.c uart1.c uip-ipchksum.c \
9 checkpoint-arch.c #slip.c slip_uart1.c
11 CONTIKI_TARGET_DIRS = . dev apps net
12 ifndef CONTIKI_TARGET_MAIN
13 CONTIKI_TARGET_MAIN = contiki-sky-main.c
17 CFLAGS += -DWITH_UIP6=1
20 CONTIKI_TARGET_SOURCEFILES += $(ARCH) $(UIPDRIVERS) $(CONTIKI_TARGET_MAIN)
23 include $(CONTIKI)/cpu/msp430/Makefile.msp430
25 contiki-$(TARGET).a: ${addprefix $(OBJECTDIR)/,symbols.o}
30 IHEXFILE=tmpimage.ihex
32 # Check if we are running under Windows
34 ifneq (,$(findstring Windows,$(OS)))
36 SERIALDUMP = $(CONTIKI)/tools/sky/serialdump-windows
37 MOTELIST = $(CONTIKI)/tools/sky/motelist-windows
38 TMOTE_BSL=$(if $(wildcard $(CONTIKI)/tools/sky/tmote-bsl.exe),1,0)
39 ifeq ($(TMOTE_BSL), 1)
41 BSL = $(CONTIKI)/tools/sky/tmote-bsl
42 MOTES = $(shell $(MOTELIST) | grep COM | \
45 BSL = $(CONTIKI)/tools/sky/msp430-bsl-windows --telosb
47 MOTES = $(shell $(MOTELIST) | grep COM | \
49 perl -ne 'print $$1 - 1 . " " if(/COM(\d+)/);')
51 CMOTES = $(shell $(MOTELIST) | grep COM | \
53 perl -ne 'print $$1 . " " if(/COM(\d+)/);')
57 # If we are not running under Windows, we assume Linux
60 SERIALDUMP = $(CONTIKI)/tools/sky/serialdump-linux
61 MOTELIST = $(CONTIKI)/tools/sky/motelist-linux
62 TMOTE_BSL=$(if $(wildcard $(CONTIKI)/tools/sky/tmote-bsl-linux),1,0)
63 ifeq ($(TMOTE_BSL), 1)
64 PATH := $(PATH):$(CONTIKI)/tools/sky
65 BSL = $(CONTIKI)/tools/sky/tmote-bsl-linux
68 BSL = $(CONTIKI)/tools/sky/msp430-bsl-linux --telosb
71 MOTES = $(shell $(MOTELIST) 2>&- | grep USB | \
73 perl -ne 'print $$1 . " " if(m-(/dev/\w+)-);')
84 $(MAKE) sky-reset sky-upload
87 $(MAKE) -j $(NUMPAR) sky-upload-sequence
89 sky-upload-sequence: $(foreach PORT, $(MOTES), sky-u.$(subst /,-,$(PORT)))
93 $(MAKE) -k -j $(NUMPAR) sky-reset-sequence
95 sky-reset-sequence: $(foreach PORT, $(MOTES), sky-r.$(subst /,-,$(PORT)))
99 @echo +++++ Erasing $(subst -,/,$*); \
100 $(BSL) -c $(subst -,/,$*) -e && sleep 2 ; \
101 echo +++++ Programming $(subst -,/,$*) ; \
102 $(BSL) -c $(subst -,/,$*) $(BSL_FILETYPE) -p $(IHEXFILE) && sleep 2 ; \
103 echo +++++ Resetting $(subst -,/,$*) ; \
104 $(BSL) -c $(subst -,/,$*) -r
107 $(BSL) -c $(subst -,/,$*) -r
110 msp430-size $(OBJECTDIR)/*.o | $(CONTIKI)/tools/sky/check-size > size-data
111 gnuplot $(CONTIKI)/tools/sky/plot-size
116 $(CONTIKI)/tools/wpcapslip/wpcapslip -s $(USBDEVPREFIX)$(firstword $(CMOTES)) $(INTERFACE) 172.16.0.0 255.255.0.0
118 @echo "Usage: \"$(MAKE) $@ INTERFACE=<the IP address of a local network interface>\""
119 @echo "Use the \"ipconfig\" command to find out the IP addresses of the local interfaces"
122 linslip: $(CONTIKI)/tools/tunslip
123 $(CONTIKI)/tools/tunslip -s $(USBDEVPREFIX)$(firstword $(CMOTES)) 172.16.0.0 255.255.0.0
125 $(CONTIKI)/tools/tunslip:
126 (cd $(CONTIKI)/tools; $(MAKE) tunslip)
130 $(SERIALDUMP) -b115200 $(USBDEVPREFIX)$(word $(MOTE), $(CMOTES)) | $(CONTIKI)/tools/timestamp | tee serialdump-`date +%Y%m%d-%H%M`
133 $(SERIALDUMP) -b115200 $(USBDEVPREFIX)$(word $(MOTE), $(CMOTES)) | $(CONTIKI)/tools/timestamp
136 $(SERIALDUMP) -b115200 $(USBDEVPREFIX)$(word $(MOTE), $(CMOTES))
139 $(SERIALDUMP) -b115200 $(USBDEVPREFIX)$(firstword $(CMOTES)) | $(CONTIKI)/tools/timestamp | tee serialdump-`date +%Y%m%d-%H%M`
142 $(SERIALDUMP) -b115200 $(USBDEVPREFIX)$(firstword $(CMOTES)) | $(CONTIKI)/tools/timestamp
145 $(SERIALDUMP) -b115200 $(USBDEVPREFIX)$(firstword $(CMOTES))