Simplify the building process

This commit is contained in:
XOR 2023-09-07 21:58:19 +02:00
parent 640e8bcdaf
commit d84921f4cb
2 changed files with 33 additions and 0 deletions

View file

@ -20,3 +20,15 @@ The image saver stores the generated machine code in an EIPA memory image, which
The design of the expected assembly code is described in ``design.txt``.
## Building
### Dependencies
You need to have
1. a compiler
2. make
installed on your system. While clang is being used by default, you can also use another compiler (e.g. gcc) by running `export CC=yourcompiler` or by changing 'clang' at the top of `Makefile` and `dependency_setup.sh` (where the variable CC is defined) to your prefered compiler.
To install the simple_hashtable library required for the Assembler, you can run the `dependency_setup.sh` file, or manually compile the library and place it in `lib/shash.o`.
Finally, run make to get build the Assembler to `build/eipaasm`

21
dependency_setup.sh Executable file
View file

@ -0,0 +1,21 @@
#! /bin/bash
script_root=$(pwd)
CC="clang"
echo "Creating folder for libraries"
mkdir lib
echo "Cloning simple_hashtable library"
mkdir tmp
cd tmp
git clone https://h2939863.stratoserver.net/git/XOR/simple_hashtable.git
cd simple_hashtable
echo "Building simple_hashtable library"
$(CC) -c shash.c -o $script_root/lib/shash.o
echo "Delete source files"
cd $script_root
rm -rf tmp
echo "You can now run "make" to build the Assembler"