.POSIX: DATE = 2021-07-16 VERSION = 0.2.3 NAME = git-permalink MAILING_LIST = public-inbox TRANSLATIONS = pt fr eo CONTRIBLANGS = PREFIX = /usr/local BINDIR = $(PREFIX)/bin LIBEXECDIR = $(PREFIX)/libexec SHAREDIR = $(PREFIX)/share LOCALEDIR = $(SHAREDIR)/locale MANDIR = $(SHAREDIR)/man .SUFFIXES: .SUFFIXES: .in .in: sed \ -e 's:@VERSION@:$(VERSION):g' \ -e 's:@DATE@:$(DATE):g' \ -e 's:@NAME@:$(NAME):g' \ -e 's:@LIBEXECDIR@:$(LIBEXECDIR):g' \ -e 's:@LOCALEDIR@:$(LOCALEDIR):g' \ < $< > $@ if [ -x $< ]; then chmod +x $@; fi manpages.en.in = \ doc/git-permalink.en.1.in manpages.in = $(manpages.en.in) \ doc/git-permalink.pt.1.in \ doc/git-permalink.fr.1.in \ doc/git-permalink.eo.1.in manpages = $(manpages.in:.in=) all: src/git-permalink src/load-locale-messages.sh $(manpages) check: all sh tests/cli-opts.sh sh tests/remotes.sh clean: rm -rf \ public/ $(manpages) README.*.md CHANGELOG.*.md messages.mo \ tests/destdirs/ tests/prefix/ tests/remotes/ \ src/git-permalink src/load-locale-messages.sh install: all mkdir -p \ $(DESTDIR)$(BINDIR) \ $(DESTDIR)$(LOCALEDIR) \ $(DESTDIR)$(LIBEXECDIR)/$(NAME) cp src/git-permalink $(DESTDIR)$(BINDIR) for l in $(TRANSLATIONS) $(CONTRIBLANGS); do \ mkdir -p $(DESTDIR)$(LOCALEDIR)/$$l/LC_MESSAGES; \ cp src/locale/$$l.sh \ $(DESTDIR)$(LOCALEDIR)/$$l/LC_MESSAGES/$(NAME).sh; \ done cp src/load-locale-messages.sh $(DESTDIR)$(LIBEXECDIR)/$(NAME) sh doc/manpages.sh -ip $(DESTDIR)$(MANDIR) $(manpages) uninstall: rm -f $(DESTDIR)$(BINDIR)/git-permalink for l in $(TRANSLATIONS) $(CONTRIBLANGS); do \ rm -f $(DESTDIR)$(LOCALEDIR)/$$l/LC_MESSAGES/$(NAME).sh; \ done sh doc/manpages.sh -up $(DESTDIR)$(MANDIR) $(manpages) # # Personal workflow targets # dev-check: check public sh aux/assert-shellcheck.sh sh aux/workflow/assert-todos.sh sh aux/workflow/assert-changelog.sh -n '$(NAME)' $(EXTRA_VERSION) sh aux/workflow/assert-readme.sh -n '$(NAME)' -m '$(MAILING_LIST)' \ $(EXTRA_VERSION) sh aux/workflow/assert-manpages.sh -n '$(NAME)' -m '$(MAILING_LIST)' \ -l '$(TRANSLATIONS) en' $(manpages.en.in) sh aux/workflow/repocheck.sh -x1 -l1 -f5 dist: sh aux/workflow/dist.sh -d '$(DATE)' -V '$(VERSION)' -n '$(NAME)' \ -m '$(MAILING_LIST)' README.en.md: README.md ln -fs $? $@ CHANGELOG.en.md: CHANGELOG.md ln -fs $? $@ l10n-gen: README.en.md CHANGELOG.en.md $(manpages.en.in) sh aux/workflow/l10n.sh -l '$(TRANSLATIONS)' -L '$(CONTRIBLANGS)' $? public/makefile.svg: Makefile mkdir -p '$(@D)' makefile2graph check | dot -Tsvg > $@ public: l10n-gen all TODOs.md $(manpages) public/makefile.svg sh aux/workflow/public.sh -l '$(TRANSLATIONS) $(CONTRIBLANGS) en' \ -n '$(NAME)' -m '$(MAILING_LIST)' -o public sh doc/manpages.sh -Ho public $(manpages) spellcheck: public sh aux/workflow/assert-spelling.sh -l '$(TRANSLATIONS) en' \ $$(find public -type f -name '*.html')