# OVERVIEW tinyrick's own compilation process is compatible with standard `cargo`. We wrap some common workflows with `build` tasks for convenience. # BUILDTIME REQUIREMENTS * [Docker](https://www.docker.com/) 20.10.21+ * POSIX compatible [make](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html) * [Rust](https://www.rust-lang.org/en-US/) 1.75.0+ * POSIX compatible [sh](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sh.html) * POSIX compatible [tar](https://pubs.opengroup.org/onlinepubs/7908799/xcu/tar.html) * Provision additional dev tools with `make -f install.mk` ## Recommended * a host capable of running musl/Linux containers (e.g. a GNU/Linux, musl/Linux, macOS, or Windows host) * [Docker First Aid Kit](https://github.com/mcandre/docker-first-aid-kit) * Apply `DOCKER_DEFAULT_PLATFORM` = `linux/amd64` environment variable * [ASDF](https://asdf-vm.com/) 0.10 (run `asdf reshim` after provisioning) * [cargo-cache](https://crates.io/crates/cargo-cache) * [direnv](https://direnv.net/) 2 * a UNIX environment, such as macOS, Linux, BSD, [WSL](https://learn.microsoft.com/en-us/windows/wsl/), etc. Non-UNIX environments may produce subtle adverse effects when linting or generating application ports. # INSTALL BINARY ARTIFACTS FROM LOCAL SOURCE ```console $ make install ``` # UNINSTALL BINARY ARTIFACTS ```console $ make uninstall ``` # AUDIT ```console $ make audit ``` # BUILD: LINT, DOC, COMPILE, and TEST ```console $ make build ``` # PUBLISH ```console $ make publish ``` # PORT ```console $ make port ``` # CLEAN ```console $ make clean ```