# p7utils - Shell utilities to interact with CASIO calculators and files ## Introduction **p7utils** is a set of command-line utilities that allow you to interact with your CASIO calculators/files. The name comes from the fact that it originally was the merge of `p7`, `p7screen` and `p7os` (which had an almost identical project structure), then the `g1mutils` (shell utilities for [libg1m](https://github.com/cakeisalie5/libg1m/) merged with this project. Available utilities are: * `p7` will interact with the storage memories; * `p7screen` will display the result of the screen streaming; * `p7os` will allow you to interact with the calculator's OS (backup, flash); * `mcsfile` will display the content of an MCS archive file. Note: to build and install `p7os` or `mcsfile`, you must specify `--enable-` when configuring (type `./configure --help` for more information) ## Prerequisites ### Making-only dependencies | Name | Version | | -------------------------------------------------- | -------- | | [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 | ### Making and runtime dependencies | Name | Version | | -------------------------------------------------- | --------- | | [libp7](https://p7.planet-casio.com/en.html) | >= 3.0 | | [libg1m](https://github.com/cakeisalie5/libg1m) | >= 0.1 | | [libsdl](https://libsdl.org/) | == 1.2.15 | Notice that dependencies varies if you only want to build some executables: only `p7screen` will require the SDL, and `mcsfile` is the only one to require `libg1m`. You should check `src//vars.mk` to see what the dependencies of the particular executable you want are (if you don't want them all; see the `libs` target). ## Building Just `./configure` then `make`. To install, use `make install`. Make the manpages with `make all-doc` and install them with `make install-doc`. Other useful targets : - `all-[.exe]`: build only a given executable (and its doc); - `install-[.exe]`: install only a given executable (and its doc, if `--noinstall-manpages` is not passed to the configure script); - `uninstall-[.exe]`: uninstall only a given executable (and its doc); - `clean`, `clean-[.exe]`, `clean-doc`: remove built files; - `mrproper`: remove all built files, and the configuration; - `re`: remove all built files, and build all the default executables and docs. Notice that the `.exe` suffix is facultative and is valid for all targets.