12345678910111213141516171819202122232425262728293031323334353637383940 |
- #!/bin/bash
- retList=()
- # loop though c file arguments, compile them and run them
- for filename in "$@"
- do
- echo "Processing: $filename"
- # for each c file, compile and run
- echo "Compiling C code to B32P ASM"
- if (./bcc $filename ../Assembler/code.asm) # compile c code and write compiled code to code.asm in Assembler folder
- then
- echo "C code successfully compiled"
- echo "Assembling B32P ASM code"
- if (cd ../Assembler && python3 Assembler.py > ../Programmer/code.list) # compile and write to code.list in Programmer folder
- then
- echo "B32P ASM code successfully assembled"
- # convert list to binary files and send to FPGC
- (cd ../Programmer && bash compileROM.sh noPadding && echo "Sending binary to FPGC" && python3 uartFlasher.py testMode)
- retVal="$?"
- echo "$filename exited with code: $retVal"
- retList+=("$retVal")
- else # assemble failed, run again to show error
- echo "Failed to assemble B32P ASM code"
- cd ../Assembler && python3 Assembler.py
- fi
- else # compile failed
- echo "Failed to compile C code"
- fi
- # sleep alternative since it is broken in WSL1
- read -t 0.1
- done
- echo "Got the follwing return values:"
- echo ${retList[@]}
|