39a938f7 |
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),) |
2ce79856 |
20 | ifneq ($(SVNVERSION),exported) |
39a938f7 |
21 | VERSION=Built from revision $(patsubst M,,$(SVNVERSION)) |
22 | endif |
23 | endif |
24 | endif |
2ce79856 |
25 | endif |
39a938f7 |
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 | |
78189bb3 |
37 | CHAPTERS := $(SITE) blurb intro gs using config pscp psftp plink pubkey |
2285d016 |
38 | CHAPTERS += pageant errors faq feedback licence udp pgpkeys |
39a938f7 |
39 | CHAPTERS += index $(VERSIONIDS) |
e5b0d077 |
40 | |
41 | INPUTS = $(patsubst %,%.but,$(CHAPTERS)) |
42 | |
43 | # This is temporary. Hack it locally or something. |
d9dcb3de |
44 | HALIBUT = halibut |
e5b0d077 |
45 | |
02d88d11 |
46 | index.html: $(INPUTS) |
47 | $(HALIBUT) --text --html --winhelp $(INPUTS) |
e3e5784e |
48 | |
cdb9e822 |
49 | putty.info: $(INPUTS) |
50 | $(HALIBUT) --info $(INPUTS) |
51 | |
02d88d11 |
52 | MKMAN = $(HALIBUT) --man=$@ mancfg.but $< |
e3e5784e |
53 | MANPAGES = putty.1 puttygen.1 plink.1 pscp.1 psftp.1 puttytel.1 pterm.1 |
54 | man: $(MANPAGES) |
55 | |
56 | putty.1: man-putt.but mancfg.but; $(MKMAN) |
57 | puttygen.1: man-pg.but mancfg.but; $(MKMAN) |
58 | plink.1: man-pl.but mancfg.but; $(MKMAN) |
59 | pscp.1: man-pscp.but mancfg.but; $(MKMAN) |
60 | psftp.1: man-psft.but mancfg.but; $(MKMAN) |
61 | puttytel.1: man-ptel.but mancfg.but; $(MKMAN) |
62 | pterm.1: man-pter.but mancfg.but; $(MKMAN) |
63 | |
e86cf399 |
64 | clean: |
cdb9e822 |
65 | rm -f *.html *.txt *.hlp *.cnt *.1 *.info vstr.but |