2026-03-23 20:49:32 -06:00
2026-03-23 20:49:32 -06:00
2026-03-22 12:55:42 -05:00
2026-03-23 21:10:28 -05:00
2026-03-23 21:10:28 -05:00
2026-03-23 21:10:28 -05:00
2026-03-23 17:03:58 -06:00

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 is recommended as the compiler installed for Pallet projects.

You can define a different gcc compatible compiler instead per-project by editing Pallet.toml:

name = "my-app"
default_build = "debug"
compiler = "clang"

[[build]]
name = "debug"
args = [
    "-g",
    "-O0",
]

[[build]]
name = "release"
args = [
    "-DNDEBUG",
    "-O3",
]

Usage

  • pallet new <project>: 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:

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:

git log --oneline (git describe --tags --abbrev=0)..HEAD | sed 's/^/- /' | xclip -selection clipboard
Description
A project manager and build system for C inspired by Rust's Cargo
Readme 248 KiB
v1.1.1 Latest
2026-03-23 20:11:35 -06:00
Languages
Rust 98.5%
Shell 1.2%
C 0.3%