# 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 recommended as the compiler installed for `Pallet` projects. You can define a different `gcc` compatible compiler instead per-project by editing `Pallet.toml`: ```toml name = "my-app" default_build = "debug" compiler = "clang" [[build]] name = "debug" args = [ "-g", "-O0", ] [[build]] name = "release" args = [ "-DNDEBUG", "-O3", ] ``` ## 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", ] ``` ## Creating Changelogs Use the following command to create a changelog: ```sh git log --oneline (git describe --tags --abbrev=0)..HEAD | sed 's/^/- /' | xclip -selection clipboard ```