ifeq ($(shell uname),Darwin)
-linkerflags = -Wl,-framework -Wl,IOKit -Wl,-framework -Wl,CoreFoundation
+linkerflags = -Wl,-framework -Wl,IOKit -Wl,-framework -Wl,CoreFoundation -dynamiclib -framework JavaVM
jnilib = libFtdiUartNative.jnilib
else
linkerflags =
jnilib = libFtdiUartNative.so
endif
-## slipway ############################################################################
+## demos ############################################################################
+
+asyncdemo: slipway.jar
+ java -cp slipway.jar edu.berkeley.slipway.demos.FastestMicropipelineFifoDemo misc/data/async/
+
+demo: slipway.jar
+ java -cp slipway.jar edu.berkeley.slipway.demos.Demo 30
+
+demo2: slipway.jar
+ java -cp slipway.jar edu.berkeley.slipway.demos.Demo2 30
+
+mpardemo: upstream/jhdl-edifparser.jar slipway.jar
+ iverilog -t fpga -s main -o out.edf misc/mpardemo.v
+ java -cp slipway.jar:upstream/jhdl-edifparser.jar edu.berkeley.slipway.mpar.MPARDemo out.edf
-run: slipway.jar
- java -cp slipway.jar edu.berkeley.obits.AtmelSerial < bitstreams/led0.md4
+
+## slipway ############################################################################
build/src/com/ftdi/usb/FtdiUart.c: src/com/ftdi/usb/FtdiUart.i
mkdir -p `dirname $@`
swig -module FtdiUartNative -noproxy -package com.ftdi.usb -o $@ -outdir `dirname $@` -java $<
build/$(jnilib): build/src/com/ftdi/usb/FtdiUart.c upstream/libusb/.built
- gcc -I. -Iupstream/libftdi -Iupstream/usb \
+ gcc -I. -Iupstream/libftdi -Iupstream/libusb \
-I$(JAVA_HOME)/include \
$< \
upstream/libftdi/ftdi.c \
upstream/libusb/.libs/libusb.a \
$(linkerflags) \
- -o $@ -dynamiclib -framework JavaVM
+ -o $@
-slipway.jar: build/$(jnilib) $(shell find src build/src -name \*.java) bitstreams/slipway_drone.bst
+slipway.jar: build/$(jnilib) $(shell find src build/src -name \*.java) misc/slipway_drone.bst upstream/jhdl-edifparser.jar
mkdir -p build
- javac -d build $(shell find src build/src -name \*.java)
- cp bitstreams/slipway_drone.bst build/edu/berkeley/slipway/
+ $(javac) -d build $(shell find src build/src -name \*.java)
+ cp misc/slipway_drone.bst build/edu/berkeley/slipway/
cd build; jar cvf ../$@ .
upstream/libusb:
mkdir -p `dirname $@`
- cd upstream; curl http://umn.dl.sourceforge.net/sourceforge/libusb/libusb-0.1.12.tar.gz | tar -xvzf -
+ cd upstream; curl http://voxel.dl.sourceforge.net/sourceforge/libusb/libusb-0.1.12.tar.gz | tar -xvzf -
cd upstream; mv libusb-0.1.12 libusb
upstream/libusb/.built: upstream/libusb
make
touch $@
+javac = javac -cp upstream/jhdl-edifparser.jar
#java = java -Djava.library.path=$(shell pwd)/lib/ -cp lib/RXTXcomm.jar:slipway.jar
## for rebuilding usbdrone.hex ###########################################################
-build/slipway_drone.hex: src/edu/berkeley/slipway/FtdiBoardSlave.c upstream/avr-libc/.built
+build/slipway_drone.hex: src/edu/berkeley/slipway/SlipwaySlave.c upstream/avr-libc/.built
upstream/prefix/bin/avr-gcc -O3 -mmcu=at94k $< -o $@.o
upstream/prefix/bin/avr-objcopy -O ihex $@.o $@
# this only works on my personal setup [adam]
-bitstreams/slipway_drone.bst: build/slipway_drone.hex
- cp $< /afs/research.cs.berkeley.edu/user/megacz/edu.berkeley.obits/usbdrone.hex
- fs flush /afs/research.cs.berkeley.edu/user/megacz/edu.berkeley.obits/usbdrone.hex
- echo okay...
- read
- rm /afs/research.cs.berkeley.edu/user/megacz/edu.berkeley.obits/usbdrone.hex
- diff -u /afs/research.cs.berkeley.edu/user/megacz/stupid/fpslic_stupid.bst $@ && exit -1; true
- mv /afs/research.cs.berkeley.edu/user/megacz/stupid/fpslic_stupid.bst $@
+#misc/slipway_drone.bst: build/slipway_drone.hex
+# cp $< /afs/research.cs.berkeley.edu/user/megacz/slipway/$<
+# fs flush /afs/research.cs.berkeley.edu/user/megacz/slipway/$<
+# echo okay...
+# read
+# rm /afs/research.cs.berkeley.edu/user/megacz/slipway/$<
+# diff -u /afs/research.cs.berkeley.edu/user/megacz/slipway/$@ $@ && \
+# exit -1; true
+# mv /afs/research.cs.berkeley.edu/user/megacz/slipway/$@ $@
+# touch $@
## avr-gcc toolchain and libc ################################################################
upstream/binutils:
- cd upstream; curl http://ftp.gnu.org/pub/pub/pub/gnu/binutils/binutils-2.16.1.tar.bz2 | tar -xvjf -
- cd upstream; mv binutils-2.16.1 binutils
+ cd upstream; curl http://ftp.gnu.org/pub/pub/pub/gnu/binutils/binutils-2.19.1.tar.bz2 | tar -xvjf -
+ cd upstream; mv binutils-2.19.1 binutils
upstream/binutils/.built: upstream/binutils
mkdir -p upstream/prefix
touch $@
upstream/avr-libc:
- cd upstream; curl http://download.savannah.gnu.org/releases/avr-libc/avr-libc-1.4.3.tar.bz2 | tar -xvjf -
+ cd upstream; curl http://nongnu.askapache.com/avr-libc/avr-libc-1.4.3.tar.bz2 | tar -xvjf -
cd upstream; mv avr-libc-1.4.3 avr-libc
upstream/avr-libc/.built: upstream/avr-libc upstream/gcc/.built
./configure --prefix=$(shell pwd)/upstream/prefix --host=avr && \
PATH=$$PATH:$(shell pwd)/upstream/prefix/bin make && \
PATH=$$PATH:$(shell pwd)/upstream/prefix/bin make install
- touch $@
\ No newline at end of file
+ touch $@
+
+
+## edif parser ##########################################################################
+
+upstream/jhdl-edifparser.jar:
+ mkdir -p upstream
+ curl -o $@- http://reliability.ee.byu.edu/edif/jars/release_0.3.0/edif-0.3.0.jar
+ mv $@- $@
+
+## javadoc ##############################################################################
+
+javadoc:
+ rm -rf doc/api
+ mkdir -p doc/api
+ javadoc \
+ -linksource \
+ -windowtitle "abits" \
+ -sourcepath src \
+ -public \
+ -notree \
+ -noindex \
+ -nonavbar \
+ -noqualifier all \
+ -d doc/api \
+ `find src -name \*.java`