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),) |
20 | VERSION=Built from revision $(patsubst M,,$(SVNVERSION)) |
21 | endif |
22 | endif |
23 | endif |
24 | # ... and now, we condition our build behaviour on whether or not |
25 | # VERSION _is_ defined. |
26 | ifdef VERSION |
27 | VERSIONIDS=vstr |
28 | vstr.but: FORCE |
29 | echo \\versionid $(VERSION) > vstr.but |
30 | FORCE:; |
31 | else |
32 | VERSIONIDS=vids |
33 | endif |
34 | |
78189bb3 |
35 | CHAPTERS := $(SITE) blurb intro gs using config pscp psftp plink pubkey |
36 | CHAPTERS += pageant errors faq feedback licence |
39a938f7 |
37 | CHAPTERS += index $(VERSIONIDS) |
e5b0d077 |
38 | |
39 | INPUTS = $(patsubst %,%.but,$(CHAPTERS)) |
40 | |
41 | # This is temporary. Hack it locally or something. |
5b68bbaf |
42 | HALIBUT = $(HOME)/src/halibut/build/halibut |
e5b0d077 |
43 | |
02d88d11 |
44 | index.html: $(INPUTS) |
45 | $(HALIBUT) --text --html --winhelp $(INPUTS) |
e3e5784e |
46 | |
02d88d11 |
47 | MKMAN = $(HALIBUT) --man=$@ mancfg.but $< |
e3e5784e |
48 | MANPAGES = putty.1 puttygen.1 plink.1 pscp.1 psftp.1 puttytel.1 pterm.1 |
49 | man: $(MANPAGES) |
50 | |
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) |
58 | |
e86cf399 |
59 | clean: |
39a938f7 |
60 | rm -f *.html *.txt *.hlp *.cnt *.1 vstr.but |