.POSIX: PREFIX = @PREFIX@ MANPREFIX = $(PREFIX)/share/man VERSION = 0.1.2 DATE = 2021-01-26 manpages = \ doc/remembering.1 \ doc/remembering.5 all: remembering remembering: src/remembering.in $(do_subst) < $? > $@-t chmod +x $@-t mv $@-t $@ check: all sh tests/cli-opts.sh sh tests/ranking.sh sh tests/signals.sh if [ -d .git ]; then \ echo 'Assuming Git repository, running development checks.'; \ $(MAKE) dev-check; \ fi dev-check: sh aux/assert-clang-format.sh sh aux/assert-shellcheck.sh sh aux/workflow/assert-todos.sh dist: if git show v$(VERSION) 1>/dev/null 2>/dev/null; then \ echo 'Version v$(VERSION) already exists.'; \ exit 1; \ fi if [ '$(DATE)' != "$$(git log -1 --format=%cd --date=short HEAD)" ]; then \ echo 'Date $(DATE) is not up-to-date.'; \ exit 1; \ fi git tag v$(VERSION) clean: rm -rf public/ tests/test-profiles/ do_subst = sed \ -e 's:[@]VERSION[@]:$(VERSION):g' \ -e 's:[@]DATE[@]:$(DATE):g' install: all install -m 755 -D remembering $(DESTDIR)$(PREFIX)/bin/remembering for m in $(manpages); do \ n=$${m##*.}; \ mkdir -p $(DESTDIR)$(MANPREFIX)/man$$n; \ $(do_subst) < $$m | gzip > $(DESTDIR)$(MANPREFIX)/man$$n/`basename $$m`.gz; \ done uninstall: rm -f $(DESTDIR)$(PREFIX)/bin/remembering \ $(DESTDIR)$(MANPREFIX)/man1/remembering.1 \ $(DESTDIR)$(MANPREFIX)/man5/remembering.5 for m in $(manpages); do rm -f $(DESTDIR)$(MANPREFIX)/man$${##*.}/`basename $$m`.gz; done NAME_UC = Reemembering NAME = remembering MAILING_LIST = public-inbox public: README.md TODOs.md CHANGELOG.md $(manpages) sh aux/workflow/TODOs.sh $(NAME_UC) $(NAME) $(MAILING_LIST) sh aux/workflow/README.sh $(NAME_UC) $(NAME) sh aux/workflow/commonmark.sh $(NAME_UC) CHANGELOG.md sh aux/ci/report.sh $(NAME_UC) for m in $(manpages); do groff -m man -Thtml $$m > public/`basename $$m`.html; done groff -m man -Thtml remembering.1 > public/remembering.1.html groff -m man -Thtml remembering.5 > public/remembering.5.html .PHONY: all clean check dev-check dist install uninstall