mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-03-21 06:08:41 -05:00

line for every single .but file at the bottom of each page of the HTML PuTTY docs. However, we can't _always_ replace that with a single SVN revision, because there isn't always one available (SVN still allows mixed working copies in which some files are deliberately checked out against a different revision). Hence, here's a mechanism for doing better. It uses `svnversion .' to determine _whether_ a single revision number adequately describes the current directory, and replaces all the version IDs with that if so. If it can't do that, it uses the version IDs as before. Also, this allows an explicit version string to be passed on the make command line which will override _both_ these possibilities, so that release documentation can be clearly labelled with the release version number. [originally from svn r4804]
61 lines
1.8 KiB
Makefile
61 lines
1.8 KiB
Makefile
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),)
|
|
VERSION=Built from revision $(patsubst M,,$(SVNVERSION))
|
|
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 += index $(VERSIONIDS)
|
|
|
|
INPUTS = $(patsubst %,%.but,$(CHAPTERS))
|
|
|
|
# This is temporary. Hack it locally or something.
|
|
HALIBUT = $(HOME)/src/halibut/build/halibut
|
|
|
|
index.html: $(INPUTS)
|
|
$(HALIBUT) --text --html --winhelp $(INPUTS)
|
|
|
|
MKMAN = $(HALIBUT) --man=$@ mancfg.but $<
|
|
MANPAGES = putty.1 puttygen.1 plink.1 pscp.1 psftp.1 puttytel.1 pterm.1
|
|
man: $(MANPAGES)
|
|
|
|
putty.1: man-putt.but mancfg.but; $(MKMAN)
|
|
puttygen.1: man-pg.but mancfg.but; $(MKMAN)
|
|
plink.1: man-pl.but mancfg.but; $(MKMAN)
|
|
pscp.1: man-pscp.but mancfg.but; $(MKMAN)
|
|
psftp.1: man-psft.but mancfg.but; $(MKMAN)
|
|
puttytel.1: man-ptel.but mancfg.but; $(MKMAN)
|
|
pterm.1: man-pter.but mancfg.but; $(MKMAN)
|
|
|
|
clean:
|
|
rm -f *.html *.txt *.hlp *.cnt *.1 vstr.but
|