- cd build; ln -sf ../src/edu/berkeley/fleet/slipway/* .
- cd build; echo work > main.lso
- cd build; for A in *.v; do echo verilog work \""$$A"\"; done > main.prj
- cd build; mkdir -p tmp
- cd build; mkdir -p xst
- rm -rf build/_ngo
- $(xilinx)xst -intstyle ise -ifn main.xst -ofn main.syr < main.xst
- $(xilinx)ngdbuild -intstyle ise -dd _ngo -nt timestamp -uc main.ucf -p xc2vp70-ff1704-6 main.ngc main.ngd
- $(xilinx)map -intstyle ise -p xc2vp70-ff1704-6 -cm speed -l -pr b -k 4 -c 100 -tx off -o main_map.ncd main.ngd main.pcf
- $(xilinx)par -w -intstyle ise -pl std -ol std -t 99 main_map.ncd main.ncd main.pcf
- $(xilinx)bitgen -intstyle ise -d -f main.ut main.ncd
-# $(xilinx)trce -intstyle ise -e 3 -l 3 -s 6 -xml main main.ncd -o main.twr main.pcf
-
-
-doc: fleet.jar
- $(java) $(cp) edu.berkeley.fleet.doc.Doc < ships/Alu2.ship
-
-test: fleet.jar; $(java) -jar fleet.jar test tests/
-testfpga: fleet.jar; $(java) -jar fleet.jar target=fpga test tests/
+ cd build/fpga; ln -sf ../../src/edu/berkeley/fleet/fpga/* .
+ cd build/fpga; ln -sf ../../src/edu/berkeley/fleet/fpga/mem/* .
+ rm -f build/fpga/main.lso
+ echo work >> build/fpga/main.lso
+ rm -f build/fpga/main.prj
+ cd build/fpga; for A in *.v; do echo verilog work \""$$A"\"; done >> main.prj
+ cd build/fpga; for A in *.vhd; do echo vhdl work \""$$A"\"; done >> main.prj
+ cd build/fpga; mkdir -p tmp
+ cd build/fpga; mkdir -p xst
+ rm -rf build/fpga/_ngo
+ skill xst_original
+ $(xilinx_ise)xst -intstyle xflow -ifn main.xst -ofn main.syr < main.xst
+ $(xilinx_ise)ngdbuild -aul -intstyle xflow -dd _ngo -nt timestamp -uc main.ucf -p $(device) main.ngc main.ngd
+ $(xilinx_ise)map -cm area -intstyle xflow -p $(device) -pr b -ol std -o main_map.ncd main.ngd main.pcf
+ $(xilinx_ise)par -w -intstyle xflow -t 99 -pl std -rl std main_map.ncd main.ncd main.pcf
+ $(xilinx_ise)bitgen -intstyle xflow -d -f main.ut main.ncd
+# $(xilinx_ise)trce -intstyle xflow -e 3 -l 3 -s ${speed_grade} -xml main main.ncd -o main.twr main.pcf
+ $(xilinx_edk)xmd -tcl $(remote_edk)/data/xmd/genace.tcl -jprog -hw main.bit -board ml410 -ace mainx.ace
+ mv build/fpga/mainx.ace build/fpga/main.ace # genace throws a fit if the filename prefix is the same?
+
+
+runserver: fleet.jar
+ java -Djava.library.path=lib -cp fleet.jar:lib/RXTXcomm.jar edu.berkeley.fleet.fpga.Server
+
+test: fleet.jar; $(java) -jar fleet.jar test ships/*.ship tests
+testfpga: fleet.jar; $(java) -jar fleet.jar target=fpga test ships/*.ship tests
+
+## Manual ####################################################################################
+
+svgs = $(shell find doc -name \*.svg)
+%.eps: %.svg
+ DISPLAY= /Applications/Inkscape.app/Contents//Resources/bin/inkscape -z --export-area-drawing $^ --export-eps=$@
+
+%.pdf: %.eps
+ epstopdf $^ --outfile=$@
+
+manual: archmanual toolmanual
+
+archmanual: fleet.jar $(svgs:%.svg=%.pdf)
+ $(java) -jar fleet.jar doc
+ cd .tmp; ln -sf ../doc/*.bib .
+ cd .tmp; TEXINPUTS=$$TEXINPUTS:../src/edu/berkeley/fleet/assembler/:../doc/ pdflatex FleetTwo.Manual.tex
+ cd .tmp; for A in *.mp; do mpost --tex=latex $$A; done
+ cd .tmp; TEXINPUTS=$$TEXINPUTS:../src/edu/berkeley/fleet/assembler/:../doc/ pdflatex FleetTwo.Manual.tex
+ open .tmp/FleetTwo.Manual.pdf
+toolmanual: fleet.jar $(svgs:%.svg=%.pdf)
+ $(java) -jar fleet.jar doc
+ cd .tmp; ln -sf ../doc/*.bib .
+ cd .tmp; TEXINPUTS=$$TEXINPUTS:../src/edu/berkeley/fleet/assembler/:../doc/ pdflatex toolchain.tex
+ open .tmp/toolchain.pdf