diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..ae1c4bc --- /dev/null +++ b/Makefile @@ -0,0 +1,40 @@ +PYTHON = ~/.pyenv/shims/python + +rom = 06_IO_Devices/00_HACK/ROM +bootloader = 06_IO_Devices/05_GO/bootloader +warez = 06_IO_Devices/01_UartTX/hello +bitstream = 06_IO_Devices/00_HACK/hardware + +upload = Nand2Tetris.img +download = Nand2Tetris.img.backup + +clean: + find . -type f \( -name *.hack -o -name *.bin -o -name *.img \) -delete + +read: + flashrom.exe --progress -p buspirate_spi:dev=COM12 -r $(download) + +write: + flashrom.exe --progress -p buspirate_spi:dev=COM12 -w $(upload) + +build: + build-rom build-warez build-bitstream + +build-rom: + $(PYTHON) tools/Assembler/assembler.pyc $(bootloader).asm + cp $(bootloader).hack $(rom).hack + +build-warez: + $(PYTHON) tools/Assembler/assembler.pyc $(warez).asm + $(PYTHON) tools/AsciiToBin.py $(warez).hack + +build-bitstream: + cd 06_IO_Devices/00_HACK; apio clean; apio build -v + + dd if=/dev/zero bs=2M count=1 of=$(upload) + dd if=$(warez).bin of=$(upload) seek=128 conv=notrunc + dd if=$(bitstream).bin of=$(upload) conv=notrunc + +install: clean build read write + +.PHONY: build clean install