# Pallet Pallet is a project manager and build system for C inspired by Rust's Cargo. This is a toy project not meant to be taken very seriously. ## Requirements for Use [GCC](https://en.wikipedia.org/wiki/GNU_Compiler_Collection) is required as it is currently the back-end tool used to compile the C code. This tool calls `gcc` internally, so without it, it would fail. At some point I would like to update `Pallet.toml` to instead allow more configuring of how the build should be performed. ## Usage - `pallet new `: initializes a new project at `project` - `pallet init`: initializes a new project in the current directory - `pallet run`: runs the local project - `pallet build`: builds the local project - `pallet clean`: cleans the local project's build artifacts ## Configuring You can configure options by editing `Pallet.toml` ### Options - `name`: the name of the output executable - `default_build`: the name of the default build profile to use Additionally, one can define one or more build profiles with the following parameters: - `name`: the name of the build profile - `args`: the args to supply to gcc when using this profile For example: ```toml name = "my-app" default_build = "debug" [[build]] name = "debug" args = [ "-g", "-O0", ] [[build]] name = "release" args = [ "-DNDEBUG", "-O3", ] ```