This commit updates the Makefile to complile each .c source file into
an object before linking. The benefit of this is that only the necessary
files will be recompiled when modifying the code.
We also move the Makefile and build.bat up to the root directory of the
repo. This is so that calling make directly builds the binaries.
Both files are updated to adapt to the new directory structure.
With this change, initial build times are increased from ~3s to ~10s on
my machine. However, subsequent build times are improved.
As a result of this change, SConstruct is somewhat deprecated. We can
update this as well if necessary in a future change.
I verified that the build completes successfully and tests pass for
both ubuntu and windows 10.
A future change could compile src/ files into a static library to be
linked with cli/, if necessary.
Issue: #64
Currently, it is required for the shell's working directory to be in
the repo's test/ directory in order for the tests to run correctly.
This also applies for the static analysis checker.
The reason for this is that paths in the test orchestration code are
defined relative to the test directory. Instead, and since none of
these scripts are modules that will in the forseeable future be
imported into other files, we update all paths to be relative
to the absolute path of the script's file itself.
┏( ͡❛ ͜ʖ ͡❛)┛