.POSIX: PREFIX = /usr/local MANPREFIX = $(PREFIX)/usr/local DATE = 1970-01-01 VERSION = 0.1.0 NAME = gistatic MAILING_LIST = public-inbox TRANSLATIONS = pt fr eo CONTRIBLANGS = LOCALLDLIBS = -lgit2 DEFS = \ -D_POSIX_C_SOURCE=200809L \ -DVERSION='"$(VERSION)"' \ -DDATE='"$(DATE)"' .SUFFIXES: .in .t .in: sed -e 's:@VERSION@:$(VERSION):g' -e 's:@DATE@:$(DATE):g' < $< > $@ .c: $(CC) $(CFLAGS) $(DEFS) $(LDFLAGS) -o $@ $< $(LOCALLDLIBS) \ $(LDLIBS) .c.t: $(CC) $(CFLAGS) $(DEFS) $(LDFLAGS) -DTEST -o $@ $< $(LOCALLDLIBS) \ $(LDLIBS) manpages.en.in = \ doc/gistatic.en.1.in manpages.in = $(manpages.en.in) \ doc/gistatic.pt.1.in \ doc/gistatic.fr.1.in \ doc/gistatic.eo.1.in manpages = $(manpages.in:.in=) all: $(manpages) src/gistatic check: all src/gistatic.t ./src/gistatic.t clean: rm -rf public/ $(manpages) README.*.md CHANGELOG.*.md messages.mo \ src/gistatic src/gistatic.t vgcore.* install: all mkdir -p $(DESTDIR)$(PREFIX)/bin cp src/gistatic $(DESTDIR)$(PREFIX)/bin sh aux/workflow/manpages.sh -ip $(DESTDIR)$(MANPREFIX) $(manpages) uninstall: sh aux/workflow/manpages.sh -up $(DESTDIR)$(MANPREFIX) $(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) sh aux/workflow/assert-readme.sh -n $(NAME) -m $(MAILING_LIST) sh aux/workflow/assert-manpages.sh -n $(NAME) -m $(MAILING_LIST) \ -l '$(TRANSLATIONS) en' $(manpages.en.in) . aux/lib.sh && $(MAKE) PREFIX=`mkdtemp` \ install installcheck uninstall uninstallcheck installcheck: sh aux/workflow/installcheck.sh -x1 -l1 -f5 -p $(PREFIX) uninstallcheck: sh aux/workflow/installcheck.sh -up $(PREFIX) 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: l10n-gen TODOs.md $(manpages) sh aux/workflow/public.sh -l '$(TRANSLATIONS) $(CONTRIBLANGS) en' \ -n $(NAME) -m $(MAILING_LIST) -o public sh aux/workflow/manpages.sh -Ho public $(manpages) spellcheck: public sh aux/workflow/assert-spelling.sh -l '$(TRANSLATIONS) en' \ $$(find public -type f -name '*.html')