Try to make our PGP signing more useful:
[u/mdw/putty] / doc / Makefile
1 all: man index.html
2
3 # Decide on the versionid policy.
4 #
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.
12 #
13 # So here, we define VERSION using svnversion if it isn't already
14 # defined ...
15 ifndef VERSION
16 SVNVERSION=$(shell test -d .svn && svnversion .)
17 BADCHARS=$(findstring :,$(SVNVERSION))$(findstring S,$(SVNVERSION))
18 ifeq ($(BADCHARS),)
19 ifneq ($(SVNVERSION),)
20 ifneq ($(SVNVERSION),exported)
21 VERSION=Built from revision $(patsubst M,,$(SVNVERSION))
22 endif
23 endif
24 endif
25 endif
26 # ... and now, we condition our build behaviour on whether or not
27 # VERSION _is_ defined.
28 ifdef VERSION
29 VERSIONIDS=vstr
30 vstr.but: FORCE
31 echo \\versionid $(VERSION) > vstr.but
32 FORCE:;
33 else
34 VERSIONIDS=vids
35 endif
36
37 CHAPTERS := $(SITE) blurb intro gs using config pscp psftp plink pubkey
38 CHAPTERS += pageant errors faq feedback licence udp pgpkeys
39 CHAPTERS += index $(VERSIONIDS)
40
41 INPUTS = $(patsubst %,%.but,$(CHAPTERS))
42
43 # This is temporary. Hack it locally or something.
44 HALIBUT = halibut
45
46 index.html: $(INPUTS)
47 $(HALIBUT) --text --html --winhelp $(INPUTS)
48
49 MKMAN = $(HALIBUT) --man=$@ mancfg.but $<
50 MANPAGES = putty.1 puttygen.1 plink.1 pscp.1 psftp.1 puttytel.1 pterm.1
51 man: $(MANPAGES)
52
53 putty.1: man-putt.but mancfg.but; $(MKMAN)
54 puttygen.1: man-pg.but mancfg.but; $(MKMAN)
55 plink.1: man-pl.but mancfg.but; $(MKMAN)
56 pscp.1: man-pscp.but mancfg.but; $(MKMAN)
57 psftp.1: man-psft.but mancfg.but; $(MKMAN)
58 puttytel.1: man-ptel.but mancfg.but; $(MKMAN)
59 pterm.1: man-pter.but mancfg.but; $(MKMAN)
60
61 clean:
62 rm -f *.html *.txt *.hlp *.cnt *.1 vstr.but