74aff2b4c29f219431574425ef559fb361536018
[slipway.git] / Makefile
1
2 java = java -Djava.library.path=$(shell pwd)/lib/ -cp lib/RXTXcomm.jar:obits.jar
3
4 led0: obits.jar 
5         $(java) edu.berkeley.obits.AtmelSerial < bitstreams/led0.md4
6
7 led1: obits.jar
8         $(java) edu.berkeley.obits.AtmelSerial < bitstreams/led1.md4
9
10 run: obits.jar
11         $(java) edu.berkeley.obits.AtmelSerial < stupid.md4
12
13 obits.jar: $(shell find src -name \*.java)
14         javac -cp lib/RXTXcomm.jar -d build $(shell find src -name \*.java)
15         cd build; jar cvf ../$@ .
16
17 # -O3 is required; otherwise the poor AVR can't keep up with us!
18 avrdrone.hex: src/edu/berkeley/obits/device/atmel/AvrDrone.c
19         avr-gcc -O3 -mmcu=at94k $<
20         avr-objcopy -O ihex a.out $@
21
22 demo: ftdi.jar
23         java -cp ftdi.jar edu.berkeley.obits.device.atmel.Demo
24
25 src/com/ftdi/usb/ftdi_wrap.c: src/com/ftdi/usb/ftdi.i
26         mkdir -p build
27         mkdir -p src/com/ftdi/usb
28         swig -noproxy -package com.ftdi.usb -outdir src/com/ftdi/usb -java $<
29
30 build/libFtdi.jnilib: src/com/ftdi/usb/ftdi_wrap.c
31         gcc -I. -I/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Headers/ \
32                 $< -o $@ -lftdi -dynamiclib -framework JavaVM
33
34 javafiles := $(shell find src -name \*.java)
35
36 ftdi.jar: $(javafiles) build/libFtdi.jnilib
37         mkdir -p build
38         javac -d build $(javafiles)
39         cd build; jar cvf ../$@ .
40
41 drone.hex: src/drone.c
42         avr-gcc -mmcu=at94k -O3 $<
43         avr-objcopy -O ihex a.out $@
44
45 rcompile:
46         cp src/edu/berkeley/obits/device/atmel/usbdrone.c /afs/megacz.com/goliath/work/tmp/
47         ssh research.cs.berkeley.edu 'cd /afs/megacz.com/goliath/work/tmp; avr-gcc -O3 -mmcu=at94k usbdrone.c; avr-objcopy -O ihex a.out usbdrone.hex'
48         cp /afs/megacz.com/goliath/work/tmp/usbdrone.hex /afs/research.cs.berkeley.edu/user/megacz/edu.berkeley.obits/usbdrone.hex
49         fs flush /afs/research.cs.berkeley.edu/user/megacz/edu.berkeley.obits/usbdrone.hex
50         echo okay...
51         read
52         rm /afs/research.cs.berkeley.edu/user/megacz/edu.berkeley.obits/usbdrone.hex
53         diff -u /afs/research.cs.berkeley.edu/user/megacz/stupid/fpslic_stupid.bst bitstreams/usbdrone.bst && exit -1; true
54         mv /afs/research.cs.berkeley.edu/user/megacz/stupid/fpslic_stupid.bst bitstreams/usbdrone.bst
55         make demo