59ef6481aa5b7a2cdb0cfa2d49fd2e55388ea93e
[goodfet] / firmware / Makefile
1
2 #include `uname`.mak
3 #GOODFET?=/dev/ttyUSB0
4
5
6 #For tos-bsl, use --invert-reset --invert-test
7 BSL?=goodfet.bsl --speed=38400
8
9
10 #One of these should be defined explicitly.
11 #Default removed because of confusion.
12
13 #mcu=msp430x2274
14 #mcu=msp430x2618
15 #mcu?=msp430x1612
16 mcu?=RUNCONFIG
17
18 #N.B., gcc WILL NOT BITCH if this file doesn't exist.
19 #GCCINC=-T ldscripts/161x.x
20 GCCINC=-T ldscripts/$(mcu).x
21
22 CCEXTRA?=
23 CC=msp430-gcc -Wall -Os -g -mmcu=$(mcu) -D$(mcu) -DGCC $(GCCINC) -I include $(CCEXTRA)
24
25 #Define extra modules here.
26 moreapps?=apps/i2c/i2c.o apps/chipcon/chipcon.o apps/glitch/glitch.o apps/jtag/sbw.o apps/smartcard/smartcard.o
27 # should include apps/jtag/jtagarm7tdmi.o to build jtag for ARM7
28 # should include apps/pic/dspic33f.o to build support for PIC24H/dsPIC33F
29
30 # Used to include  $(moreapps)
31 apps=  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/jtag/ejtag.o apps/jtag/jtagxscale.o
32
33 #apps/chipcon/chipconasm.o removed
34 libs= lib/$(mcu).o lib/command.o apps/jtag/jtag430asm.o  lib/dco_calib.o
35
36 app= goodfet
37
38 all: $(app).hex
39
40 lib/.o:
41         ./configure
42         false
43 lib/RUNCONFIG.o:
44         ./configure
45         false
46
47 goodfet.hex: goodfet
48
49 run:
50         ../client/goodfet.msp430 test
51
52 install: $(app).hex
53         #$(BSL) -e
54         ls info.txt && $(BSL) -p info.txt || true  #MSP430F2xx targets only, inelegant.
55         $(BSL) -e -p $(app).hex 
56 verify:
57         $(BSL) -P $(app).hex -v $(app).hex
58 dumpinfo:
59         $(BSL) --dumpinfo
60 $(app): $(app).c $(libs) $(apps)
61 $(app).hex: $(app)
62         msp430-objcopy goodfet -O ihex goodfet.hex
63 m4s: $(app).hex
64         msp430-objdump -D -m msp430 $(app).hex | m4s init
65 erase:
66         $(BSL) -e 
67 clean:
68         rm -f $(app) $(app).hex $(libs) $(apps)
69 docs:
70         doxygen
71 pushdocs: docs
72         rsync --exclude .svn -ave ssh doc/html/* travisutk,goodfet@web.sourceforge.net:htdocs/docs/
73 .FAKE: docs