signify-rs 0.1.1

OpenBSD-compatible file signing & verification tool
Documentation
# signify-rs's Makefile
# Copyright (c) 2025, 2026 Ali Polatel <alip@chesswob.org>
# SPDX-License-Identifier: ISC

RUSTFLAGS := -g -Ctarget-feature=+crt-static
export RUSTFLAGS

CODESPELL ?= codespell
CODESPELL_IGNORES ?= .codespellignore
CODESPELL_IGNORE_FLAG := $(if $(wildcard $(CODESPELL_IGNORES)),-I $(CODESPELL_IGNORES),)
CODESPELL_BUILTINS ?= clear,rare,code,names
CODESPELL_PATHS ?= src tests Cargo.toml Makefile README.md
CODESPELL_SKIP ?= ,.git,./.git/*,target,*.1,*.2,*.5,*.7,*~,*.orig,*.txt,*.lock,*.png,*.jpg,*.jpeg,*.gif,*.svg,*.pdf,*.zip,*.tar,*.gz,*.tgz,*.xz,*.wasm,*.map,*.min.js,*.woff,*.woff2
CODESPELL_ARGS := --builtin $(CODESPELL_BUILTINS) -S "$(CODESPELL_SKIP)" $(CODESPELL_IGNORE_FLAG) -q 3 -s -f -H

all: build

build:
	cargo build --release
clean:
	rm -rf --one-file-system ./target
cov:
	cargo llvm-cov test --release --text
fmt:
	cargo fmt
lint:
	cargo clippy
check:
	cargo test --release -- --nocapture

fuzz:
	cargo afl build --release --features fuzz --example fuzz_parse
	mkdir -p target/afl_in target/afl_out
	echo "untrusted comment: test" > target/afl_in/seed
	cargo afl fuzz -i target/afl_in -o target/afl_out target/release/examples/fuzz_parse

spell:
	$(CODESPELL) $(CODESPELL_ARGS) --count $(CODESPELL_PATHS)
spell-fix:
	$(CODESPELL) $(CODESPELL_ARGS) -w -i 3 $(CODESPELL_PATHS)


.PHONY: all build clean cov fmt lint check
.PHONY: fuzz spell spell-fix