Makefile (3392B)
1PARTS = build/inst_jnz.asm build/inst_mov.asm build/inst_shl.asm build/inst_shr.asm \ 2 build/inst_inp.asm build/inst_out.asm build/test_in_out.asm build/gpr.asm 3 4TEST_MOV_SWP = build/test_mov_swp.asm build/inst_mov.asm build/inst_swp.asm build/gpr.asm 5TEST_SHL_SHR = build/test_shl_shr.asm build/inst_shl.asm build/inst_shr.asm build/gpr.asm 6TEST_IN_OUT = build/test_in_out.asm build/inst_inp.asm build/inst_out.asm build/gpr.asm 7TEST_ADD_SUB = build/test_add_sub.asm build/inst_add.asm build/inst_sub.asm build/gpr.asm 8 9PARTS = build/inst_jnz.asm build/inst_shl.asm build/inst_shr.asm build/inst_mov.asm \ 10 build/inst_swp.asm build/inst_add.asm build/inst_sub.asm build/inst_xor.asm \ 11 build/inst_and.asm build/inst_ldb.asm build/inst_stb.asm build/inst_inp.asm \ 12 build/inst_out.asm build/inst_not.asm build/inst_jre.asm build/inst_inc.asm build/inst_dec.asm \ 13 build/cpu.asm build/rip.asm build/decoder.asm build/gpr.asm \ 14 build/memory1.asm build/memory2.asm build/memory3.asm build/memory4.asm 15 16all: build/full_test_mov_swp.asm build/full_test_shl_shr.asm \ 17 build/full_test_in_out.asm build/full_test_add_sub.asm build/chall.asm 18 19clean: 20 rm -rf build 21 22build: 23 mkdir -p $@ 24 25build/memory1.bin build/memory2.bin build/memory3.bin build/memory4.bin: asm.py | build 26 python3 asm.py $@ 27 28build/gpr.bin: in/gpr.bin | build 29 cp $< $@ 30 31build/rip.bin: in/rip.bin | build 32 cp $< $@ 33 34build/rip.asm.tmpl: memory2.py build/rip.bin 35 python3 memory2.py $@ 0 0 build/rip.bin ADDR_RIP straight 36 37build/gpr.asm.tmpl: memory2.py build/gpr.bin 38 python3 memory2.py $@ 0 2 build/gpr.bin ADDR_GPR straight 39 40build/memory1.asm.tmpl: memory2.py build/memory1.bin 41 python3 memory2.py $@ 0 6 build/memory1.bin ADDR_MEMORY1 right 42 43build/memory2.asm.tmpl: memory2.py build/memory2.bin 44 python3 memory2.py $@ 64 6 build/memory2.bin ADDR_MEMORY2 left 45 46build/memory3.asm.tmpl: memory2.py build/memory3.bin 47 python3 memory2.py $@ 128 6 build/memory3.bin ADDR_MEMORY3 right 48 49build/memory4.asm.tmpl: memory2.py build/memory4.bin 50 python3 memory2.py $@ 192 6 build/memory4.bin ADDR_MEMORY4 left 51 52build/%.asm: in/%.asm header.def | build 53 tmpl -e -c header.def -p '$${' $< > $@ 54 55build/%.asm: build/%.asm.tmpl header.def | build 56 tmpl -e -c header.def -p '$${' $< > $@ 57 58build/full_test_mov_swp.asm: bus.py $(TEST_MOV_SWP) | build 59 python3 bus.py $@ $(TEST_MOV_SWP) 60 61build/full_test_shl_shr.asm: bus.py $(TEST_SHL_SHR) | build 62 python3 bus.py $@ $(TEST_SHL_SHR) 63 64build/full_test_in_out.asm: bus.py $(TEST_IN_OUT) | build 65 python3 bus.py $@ $(TEST_IN_OUT) 66 67build/full_test_add_sub.asm: bus.py $(TEST_ADD_SUB) | build 68 python3 bus.py $@ $(TEST_ADD_SUB) 69 70build/full.asm: bus.py $(PARTS) | build 71 python3 bus.py $@ \ 72 build/memory1.asm \ 73 build/cpu.asm build/inst_jnz.asm build/inst_mov.asm build/inst_shl.asm \ 74 build/rip.asm build/decoder.asm \ 75 build/inst_shr.asm build/inst_add.asm build/inst_sub.asm build/inst_xor.asm \ 76 build/memory2.asm \ 77 -- \ 78 build/memory3.asm \ 79 build/inst_and.asm build/inst_ldb.asm build/inst_stb.asm build/inst_inp.asm \ 80 build/gpr.asm build/inst_inc.asm \ 81 build/inst_out.asm build/inst_not.asm build/inst_jre.asm build/inst_swp.asm \ 82 build/memory4.asm 83 84build/final.asm: draw.py build/full.asm misc/cat.png | build 85 python3 draw.py build/full.asm misc/cat.png -86 -26 $@ 86 87build/chall.asm: transform.py build/final.asm | build 88 python3 transform.py build/final.asm build/chall.asm 89 90.PHONY: all clean