3 # Decide on the versionid policy.
5 # If the user has passed in $(VERSION) on the command line (`make
6 # VERSION="Release 0.56"'), we use that as an explicit version
7 # string. Otherwise, we use `svnversion' to examine the checked-out
8 # documentation source, and if that returns a single revision
9 # number then we invent a version string reflecting just that
10 # number. Failing _that_, we resort to versionids.but which shows a
11 # $Id for each individual file.
13 # So here, we define VERSION using svnversion if it isn't already
16 SVNVERSION=$(shell test -d .svn && svnversion .)
17 BADCHARS=$(findstring :,$(SVNVERSION))$(findstring S,$(SVNVERSION))
19 ifneq ($(SVNVERSION),)
20 VERSION=Built from revision $(patsubst M,,$(SVNVERSION))
24 # ... and now, we condition our build behaviour on whether or not
25 # VERSION _is_ defined.
29 echo \\versionid $(VERSION) > vstr.but
35 CHAPTERS := $(SITE) blurb intro gs using config pscp psftp plink pubkey
36 CHAPTERS += pageant errors faq feedback licence
37 CHAPTERS += index $(VERSIONIDS)
39 INPUTS = $(patsubst %,%.but,$(CHAPTERS))
41 # This is temporary. Hack it locally or something.
42 HALIBUT = $(HOME)/src/halibut/build/halibut
45 $(HALIBUT) --text --html --winhelp $(INPUTS)
47 MKMAN = $(HALIBUT) --man=$@ mancfg.but $<
48 MANPAGES = putty.1 puttygen.1 plink.1 pscp.1 psftp.1 puttytel.1 pterm.1
51 putty.1: man-putt.but mancfg.but; $(MKMAN)
52 puttygen.1: man-pg.but mancfg.but; $(MKMAN)
53 plink.1: man-pl.but mancfg.but; $(MKMAN)
54 pscp.1: man-pscp.but mancfg.but; $(MKMAN)
55 psftp.1: man-psft.but mancfg.but; $(MKMAN)
56 puttytel.1: man-ptel.but mancfg.but; $(MKMAN)
57 pterm.1: man-pter.but mancfg.but; $(MKMAN)
60 rm -f *.html *.txt *.hlp *.cnt *.1 vstr.but