X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=firmware%2FMakefile;h=91fb495ae105df38e238d06722ab54f9cf2f40ed;hp=f1607d63f2b3ccba703aa9509fa5f3f902eb5d7d;hb=2c299b308dca8a7667bacce7690fa6238492723f;hpb=c4f077f724f9320a12605271722f61932b4c663c diff --git a/firmware/Makefile b/firmware/Makefile index f1607d6..91fb495 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -1,29 +1,69 @@ -PORT=/dev/ttyUSB0 -BSL=tos-bsl --invert-reset --invert-test -c $(PORT) --speed=38400 +#include `uname`.mak +#GOODFET?=/dev/ttyUSB0 -#mcu=msp430x1611 -mcu=msp430x1612 -#ldscript is wonky -GCCINC=-T ldscripts/161x.x -CC=msp430-gcc -g -mmcu=$(mcu) -DGCC $(GCCINC) -I include +#For tos-bsl, use --invert-reset --invert-test +BSL?=goodfet.bsl --speed=38400 -apps= apps/monitor/monitor.c apps/spi/spi.c apps/i2c/i2c.c apps/chipcon/chipcon.c apps/jtag/jtag.c apps/jtag/jtag430.c -libs= lib/msp430f1612.c lib/command.c -app=goodfet + +#One of these should be defined explicitly. +#Default removed because of confusion. + +#mcu=msp430x2274 +#mcu=msp430x2618 +#mcu?=msp430x1612 +mcu?=RUNCONFIG + +#platform=goodfet +#platform=telosb +#platform=z1 +platform?=goodfet + +#N.B., gcc WILL NOT BITCH if this file doesn't exist. +#GCCINC=-T ldscripts/161x.x +GCCINC=-T ldscripts/$(mcu).x + +CCEXTRA?= +CC=msp430-gcc -Wall -Os -g -mmcu=$(mcu) -D$(mcu) -D$(platform) -Dplatform=$(platform) -DGCC $(GCCINC) -I include $(CCEXTRA) + +#Define extra modules here. +#moreapps?=apps/i2c/i2c.o apps/glitch/glitch.o apps/jtag/sbw.o apps/smartcard/smartcard.o apps/jtag/ejtag.o apps/jtag/jtagxscale.o +moreapps?=apps/jtag/sbw.o +# should include apps/jtag/jtagarm7tdmi.o to build jtag for ARM7 +# should include apps/pic/dspic33f.o to build support for PIC24H/dsPIC33F + +apps= $(moreapps) apps/chipcon/chipcon.o apps/radios/nrf.o apps/radios/ccspi.o apps/monitor/monitor.o apps/spi/spi.o apps/jtag/jtag.o apps/jtag/jtag430.o apps/jtag/jtag430x2.o apps/avr/avr.o + +#apps/chipcon/chipconasm.o removed +libs= lib/$(mcu).o lib/command.o apps/jtag/jtag430asm.o lib/dco_calib.o + +app= goodfet all: $(app).hex +lib/.o: config + ./configure + false +lib/RUNCONFIG.o: + ./configure + false +config: + cp platforms/$(platform).h include/config.h goodfet.hex: goodfet run: - ../../client/goodfet.msp430 + ../client/goodfet.msp430 test install: $(app).hex $(BSL) -e -p $(app).hex - $(BSL) -P $(app).hex -r + ls info.txt && $(BSL) -P $(app).hex -p info.txt || true #MSP430F2xx targets only, inelegant. +verify: + $(BSL) -P $(app).hex -v $(app).hex +dumpinfo: + $(BSL) --dumpinfo +$(app).c: config $(app): $(app).c $(libs) $(apps) $(app).hex: $(app) msp430-objcopy goodfet -O ihex goodfet.hex @@ -32,4 +72,9 @@ m4s: $(app).hex erase: $(BSL) -e clean: - rm -f $(app) + rm -f $(app) $(app).hex $(libs) $(apps) include/config.h +docs: + doxygen +pushdocs: docs + rsync --exclude .svn -ave ssh doc/html/* travisutk,goodfet@web.sourceforge.net:htdocs/docs/ +.FAKE: docs