# libg1m - Casio File Format manipulation ## Introduction All of the files created around CASIO calculators are declinations of one format, which I named by the name of one of them : G1M. These formats go from main memory saves to pictures and e-activities (documents). This library aims to be able to parse and write in all of the available formats, and to centralize the documentation and work on them, in order to provide a simple interface for C programs, that can be adapted to provide other interfaces such as a Python one, and to hide the odd subtilities of this Patchwork As A Format. ## Prerequisites Side note : the library might work with older versions of these dependencies, I took these as a reference because these are the ones I work with. ### Making-only dependencies | Name | Version | | ------------------------------------------------------------------- | -------- | | [make](https://www.gnu.org/software/make/) | >= 4.0 | | [gcc](https://gcc.gnu.org/) | >= 4.9 | | [binutils](https://www.gnu.org/software/binutils/) | >= 2.25 | | [asciidoc](http://asciidoc.org/) | >= 8.6.9 | | [gzip](https://www.gnu.org/software/gzip/) | >= 1.6 | | [python3](https://www.python.org/) | >= 3.5 | | [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/) | any | ### Runtime dependencies | Name | Version | | ------------------------------------------------------------------- | -------- | | [zlib](http://zlib.net/) | >= 1.2.8 | | [libfontcharacter](https://github.com/cakeisalie5/libfontcharacter) | >= 1.0 | ## Building Just `./configure` then `make`. To install, use `make install`. If you're using a custom target, by default, the prefix will be `/usr/`; to change this, use file options using the configure script options (see `./configure --help`). To build a DLL for MS-Windows, use a XXX-wXX-mingwXX target. To build and install only the lib, use `all-lib` then `install-lib`. To build and install only the docs, use `all-doc` and `install-doc`. Other useful targets: - `uninstall`, `uninstall-lib`, `uninstall-bin`, `uninstall-doc`: will try to uninstall using the current configuration (experimental); - `mostlyclean`, `clean`, `clean-doc`, `mostlyclean-lib`, `clean-lib`: remove built files at different levels; - `re`, `re-lib`, `re-doc`: regenerate built files at different levels (clean and build) -- useful when configuration is changed.