X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Makefile;h=0be621fd97bd3164c3fb73d80c8c9bdc650e41e3;hb=18121c60223f1c8a2dc261989773dd2b501bfa38;hp=d767ced20be043f2ba404e4774d186f727fcc6d3;hpb=8fd784770c3a83bc9dbda32c3317c496728b7195;p=bup.git diff --git a/Makefile b/Makefile index d767ced..0be621f 100644 --- a/Makefile +++ b/Makefile @@ -44,7 +44,7 @@ initial_setup := $(call shout,$(initial_setup),Version configuration failed)) config/config.vars: configure config/configure config/configure.inc \ $(wildcard config/*.in) - ./configure + MAKE="$(MAKE)" ./configure bup_cmds := cmd/bup-python\ $(patsubst cmd/%-cmd.py,cmd/bup-%,$(wildcard cmd/*-cmd.py)) \ @@ -57,8 +57,6 @@ all: $(bup_deps) Documentation/all $(current_sampledata) bup: ln -s main.py bup -Documentation/all: $(bup_deps) - $(current_sampledata): t/configure-sampledata --setup @@ -68,24 +66,33 @@ define install-python-bin chmod 0755 $2; endef +PANDOC ?= $(shell type -p pandoc) + +ifeq (,$(PANDOC)) + $(shell echo "Warning: pandoc not found; skipping manpage generation" 1>&2) + man_md := +else + man_md := $(wildcard Documentation/*.md) +endif + +man_roff := $(patsubst %.md,%.1,$(man_md)) +man_html := $(patsubst %.md,%.html,$(man_md)) + INSTALL=install -PREFIX=/usr +PREFIX=/usr/local MANDIR=$(DESTDIR)$(PREFIX)/share/man DOCDIR=$(DESTDIR)$(PREFIX)/share/doc/bup BINDIR=$(DESTDIR)$(PREFIX)/bin LIBDIR=$(DESTDIR)$(PREFIX)/lib/bup + install: all - $(INSTALL) -d $(MANDIR)/man1 $(DOCDIR) $(BINDIR) \ + $(INSTALL) -d $(BINDIR) \ $(LIBDIR)/bup $(LIBDIR)/cmd \ $(LIBDIR)/web $(LIBDIR)/web/static - [ ! -e Documentation/.docs-available ] || \ - $(INSTALL) -m 0644 \ - Documentation/*.1 \ - $(MANDIR)/man1 - [ ! -e Documentation/.docs-available ] || \ - $(INSTALL) -m 0644 \ - Documentation/*.html \ - $(DOCDIR) + test -z "$(man_roff)" || install -d $(MANDIR)/man1 + test -z "$(man_roff)" || $(INSTALL) -m 0644 $(man_roff) $(MANDIR)/man1 + test -z "$(man_html)" || install -d $(DOCDIR) + test -z "$(man_html)" || $(INSTALL) -m 0644 $(man_html) $(DOCDIR) $(call install-python-bin,bup,"$(BINDIR)/bup") set -e; \ for cmd in $$(ls cmd/bup-* | grep -v cmd/bup-python); do \ @@ -103,11 +110,6 @@ install: all $(INSTALL) -pm 0644 \ lib/web/*.html \ $(LIBDIR)/web/ -%/all: - $(MAKE) -C $* all - -%/clean: - $(MAKE) -C $* clean config/config.h: config/config.vars @@ -200,6 +202,25 @@ cmd/bup-%: cmd/%-cmd.sh rm -f $@ ln -s $*-cmd.sh $@ +.PHONY: Documentation/all +Documentation/all: $(man_roff) $(man_html) + +Documentation/substvars: $(bup_deps) + echo "s,%BUP_VERSION%,$$(./bup version --tag),g" > $@ + echo "s,%BUP_DATE%,$$(./bup version --date),g" >> $@ + +Documentation/%.1: Documentation/%.md Documentation/substvars + $(pf); sed -f Documentation/substvars $< \ + | $(PANDOC) -s -r markdown -w man -o $@ + +Documentation/%.html: Documentation/%.md Documentation/substvars + $(pf); sed -f Documentation/substvars $< \ + | $(PANDOC) -s -r markdown -w html -o $@ + +.PHONY: Documentation/clean +Documentation/clean: + cd Documentation && rm -f *~ .*~ *.[0-9] *.html substvars + # update the local 'man' and 'html' branches with pregenerated output files, for # people who don't have pandoc (and maybe to aid in google searches or something) export-docs: Documentation/all @@ -230,12 +251,13 @@ import-docs: Documentation/clean $(pf); git archive origin/html | (cd Documentation && tar -xvf -) $(pf); git archive origin/man | (cd Documentation && tar -xvf -) -clean: Documentation/clean config/clean +clean: Documentation/clean cmd/bup-python + cd config && rm -f *~ .*~ \ + ${CONFIGURE_DETRITUS} ${CONFIGURE_FILES} ${GENERATED_FILES} rm -f *.o lib/*/*.o *.so lib/*/*.so *.dll lib/*/*.dll *.exe \ .*~ *~ */*~ lib/*/*~ lib/*/*/*~ \ *.pyc */*.pyc lib/*/*.pyc lib/*/*/*.pyc \ - bup bup-* cmd/bup-* \ - cmd/python-cmd.sh \ + bup bup-* \ randomgen memtest \ testfs.img lib/bup/t/testfs.img if test -e t/mnt; then t/cleanup-mounts-under t/mnt; fi @@ -248,3 +270,5 @@ clean: Documentation/clean config/clean if test -e t/tmp; then t/force-delete t/tmp; fi ./configure-version --clean t/configure-sampledata --clean + # Remove last so that cleanup tools can depend on it + rm -f cmd/bup-* cmd/python-cmd.sh