A VM written in C.
Small personal project.
The code should build for:
x86_64-Linux
aarch64-Linux
(see this section)aarch64-apple-darwin
Windows
(throughx86_64-w64-mingw32
)
DISCLAIMER: The Windows
build is not tested.
autoconf
andautomake
are needed to generate the Makefile used to compile the game.
You can initialise the submodules by running:
`git submodule update --init`
You may need to run automake --add-missing
to ensure your system provides the missing files needed by autoreconf
.
Run autoreconf
to generate the ./configure
script. Run the script to generate the Makefile
used for the project.
After generating the ./configure
script, you may enable game debug mode by running:
`./configure --enable-debug=yes`
Which should prepare a Makefile
with the correct macro definitions to turn on game debug at compile time. To reset the Makefile
to release state, run:
`./configure --enable-debug=no`
After generating the ./configure
script, you may switch target host and use mingw32
with:
`./configure --host x86_64-w64-mingw32`
Which should prepare a Makefile
with the correct macro definitions. To reset the Makefile
to release state, run:
`./configure --host $(./config.guess)`
You may need to correct the configure.ac
flags if your installation does not have the expected layout, providing the correct paths for:.
mingw32
'slib
andinclude
dirs,mingw32
's correctgcc
.
Once you have the Makefile
, you can compile the project by running, in its directory:
`make`
The build chain expects some files to be generated from already given ones.
If you want to build without using make
, you can see in the Makefile.am
how to generate ./src/anvil__roko.c
and ./src/anvil__roko.h
.
You can use doxygen
to generate docs in both HTML and latex.
To generate the documentation run, from the repo dir:
doxygen docs/roko.doxyfile
To have a pdf version, you can install a tex compiler and, inside doxygen/latex
, run:
make
Running make doc
should give you ./docs/docs.pdf
, just the pdf output from latex, and delete the html index by itself.
I try to upload precompiled binaries for:
x86_64-Linux
aarch64-Linux
(from Termux on Android).x86_64-w64-mingw32
(NOT TESTED).
Some releases may offer a precompiled binary for:
darwin-arm64
๐ฆ v0.1.1 29/10/2023 https://github.com/jgabaut/roko/releases