all: yadm.md contrib yadm.md: yadm.1 @groff -man -Tascii ./yadm.1 | col -bx | sed 's/^[A-Z]/## &/g' | sed '/yadm(1)/d' > yadm.md contrib: @echo "CONTRIBUTORS\n" > CONTRIBUTORS @git shortlog -ns master gh-pages dev dev-pages | cut -f2 >> CONTRIBUTORS pdf: @groff -man -Tps ./yadm.1 > yadm.ps @open yadm.ps @sleep 1 @rm yadm.ps .PHONY: test test: bats shellcheck .PHONY: parallel parallel: ls test/*bats | time parallel -q -P0 -- docker run --rm -v "$$PWD:/yadm:ro" yadm/testbed bash -c 'bats {}' .PHONY: bats bats: @echo Running all bats tests @GPG_AGENT_INFO= bats test .PHONY: shellcheck shellcheck: @echo Running shellcheck @shellcheck --version || true @shellcheck -s bash yadm bootstrap test/*.bash @cd test; \ for bats_file in *bats; do \ sed 's/^@test.*{/function test() {/' "$$bats_file" > "/tmp/$$bats_file.bash"; \ shellcheck -s bash "/tmp/$$bats_file.bash"; \ test_result="$$?"; \ rm -f "/tmp/$$bats_file.bash"; \ [ "$$test_result" -ne 0 ] && exit 1; \ done; true man: groff -man -Tascii ./yadm.1 | less wide: man ./yadm.1