46 lines
1.1 KiB
Makefile
46 lines
1.1 KiB
Makefile
SHELL := /bin/bash
|
|
|
|
.PHONY: help format lint test check build remindctl clean
|
|
|
|
help:
|
|
@printf "%s\n" \
|
|
"make format - swift format in-place" \
|
|
"make lint - swift format lint + swiftlint" \
|
|
"make test - sync version + swift test (coverage enabled)" \
|
|
"make check - lint + test + coverage gate" \
|
|
"make build - release build into bin/ (codesigned)" \
|
|
"make remindctl - clean rebuild + run debug binary (ARGS=...)" \
|
|
"make clean - swift package clean"
|
|
|
|
format:
|
|
swift format --in-place --recursive Sources Tests
|
|
|
|
lint:
|
|
swift format lint --recursive Sources Tests
|
|
swiftlint
|
|
|
|
test:
|
|
scripts/generate-version.sh
|
|
swift test --enable-code-coverage
|
|
|
|
check:
|
|
$(MAKE) lint
|
|
$(MAKE) test
|
|
scripts/check-coverage.sh
|
|
|
|
build:
|
|
scripts/generate-version.sh
|
|
mkdir -p bin
|
|
swift build -c release --product remindctl
|
|
cp .build/release/remindctl bin/remindctl
|
|
codesign --force --sign - --identifier com.steipete.remindctl bin/remindctl
|
|
|
|
remindctl:
|
|
scripts/generate-version.sh
|
|
swift package clean
|
|
swift build -c debug --product remindctl
|
|
./.build/debug/remindctl $(ARGS)
|
|
|
|
clean:
|
|
swift package clean
|