X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/d686cdbd5f4aa8570a0c18575c703e8cfa32a52d..3d025d91eadd6d4953936db1bf1e605eb9eb441f:/doc/Makefile diff --git a/doc/Makefile b/doc/Makefile index 15bcc2f4..3bf40d14 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,26 +1,55 @@ +all: man index.html + +# Decide on the versionid policy. +# +# If the user has passed in $(VERSION) on the command line (`make +# VERSION="Release 0.56"'), we use that as an explicit version +# string. Otherwise, we use `svnversion' to examine the checked-out +# documentation source, and if that returns a single revision +# number then we invent a version string reflecting just that +# number. Failing _that_, we resort to versionids.but which shows a +# $Id for each individual file. +# +# So here, we define VERSION using svnversion if it isn't already +# defined ... +ifndef VERSION +SVNVERSION=$(shell test -d .svn && svnversion .) +BADCHARS=$(findstring :,$(SVNVERSION))$(findstring S,$(SVNVERSION)) +ifeq ($(BADCHARS),) +ifneq ($(SVNVERSION),) +ifneq ($(SVNVERSION),exported) +VERSION=Built from revision $(patsubst M,,$(SVNVERSION)) +endif +endif +endif +endif +# ... and now, we condition our build behaviour on whether or not +# VERSION _is_ defined. +ifdef VERSION +VERSIONIDS=vstr +vstr.but: FORCE + echo \\versionid $(VERSION) > vstr.but +FORCE:; +else +VERSIONIDS=vids +endif + CHAPTERS := $(SITE) blurb intro gs using config pscp psftp plink pubkey -CHAPTERS += pageant errors faq feedback licence +CHAPTERS += pageant errors faq feedback licence udp pgpkeys +CHAPTERS += index $(VERSIONIDS) INPUTS = $(patsubst %,%.but,$(CHAPTERS)) # This is temporary. Hack it locally or something. -HALIBUT = $(HOME)/src/halibut/build/halibut - -DROPPINGS := output.txt output.hlp output.cnt output.1 -DROPPINGS += Contents.html IndexPage.html Chapter*.html Section*.html -DROPPINGS += Appendix*.html +HALIBUT = halibut -all: man Contents.html +index.html: $(INPUTS) + $(HALIBUT) --text --html --winhelp $(INPUTS) -Contents.html: $(INPUTS) - $(HALIBUT) $(INPUTS) - rm -f index.html - ln -s Contents.html index.html - mv output.txt puttydoc.txt - mv output.hlp putty.hlp - mv output.cnt putty.cnt +putty.info: $(INPUTS) + $(HALIBUT) --info $(INPUTS) -MKMAN = $(HALIBUT) mancfg.but $< && mv output.1 $@ && rm -f $(DROPPINGS) +MKMAN = $(HALIBUT) --man=$@ mancfg.but $< MANPAGES = putty.1 puttygen.1 plink.1 pscp.1 psftp.1 puttytel.1 pterm.1 man: $(MANPAGES) @@ -33,4 +62,4 @@ puttytel.1: man-ptel.but mancfg.but; $(MKMAN) pterm.1: man-pter.but mancfg.but; $(MKMAN) clean: - rm -f *.html *.txt *.hlp *.cnt *.1 + rm -f *.html *.txt *.hlp *.cnt *.1 *.info vstr.but