Switch to using Halibut's new direct .CHM generation.

This allows me to remove HTML Help Workshop completely from my build
dependencies, and good riddance!
This commit is contained in:
Simon Tatham
2017-05-13 18:55:52 +01:00
parent cce13ed712
commit 7bdfda8409
4 changed files with 15 additions and 37 deletions

View File

@ -51,14 +51,10 @@ enddelegate
# Build the Windows binaries and installer, and the CHM file. # Build the Windows binaries and installer, and the CHM file.
in puzzles do make -f Makefile.doc clean in puzzles do make -f Makefile.doc clean
in puzzles do make -f Makefile.doc chm in puzzles do make -f Makefile.doc # build help files for installer
in puzzles do make -f Makefile.doc # build help file for installer
in puzzles do mason.pl --args '{"version":"$(Version)","descfile":"gamedesc.txt"}' winwix.mc > puzzles.wxs in puzzles do mason.pl --args '{"version":"$(Version)","descfile":"gamedesc.txt"}' winwix.mc > puzzles.wxs
in puzzles do perl winiss.pl $(Version) gamedesc.txt > puzzles.iss in puzzles do perl winiss.pl $(Version) gamedesc.txt > puzzles.iss
delegate windows delegate windows
# Ignore the poorly controlled return value from HHC, and instead
# just test that the output file was generated.
in puzzles with htmlhelp do/win hhc puzzles.hhp & type puzzles.chm >nul
# FIXME: Cygwin alternative? # FIXME: Cygwin alternative?
in puzzles with visualstudio do/win nmake -f Makefile.vc clean in puzzles with visualstudio do/win nmake -f Makefile.vc clean
in puzzles with visualstudio do/win nmake -f Makefile.vc VER=-DVER=$(Version) in puzzles with visualstudio do/win nmake -f Makefile.vc VER=-DVER=$(Version)
@ -72,7 +68,6 @@ delegate windows
in puzzles with wix do/win candle puzzles.wxs && light -ext WixUIExtension -sval puzzles.wixobj in puzzles with wix do/win candle puzzles.wxs && light -ext WixUIExtension -sval puzzles.wixobj
in puzzles with innosetup do/win iscc puzzles.iss in puzzles with innosetup do/win iscc puzzles.iss
ifneq "$(winsigncode)" "" in puzzles do $(winsigncode) -i https://www.chiark.greenend.org.uk/~sgtatham/puzzles/ -n "Simon Tatham's Portable Puzzle Collection Installer" puzzles.msi Output/installer.exe ifneq "$(winsigncode)" "" in puzzles do $(winsigncode) -i https://www.chiark.greenend.org.uk/~sgtatham/puzzles/ -n "Simon Tatham's Portable Puzzle Collection Installer" puzzles.msi Output/installer.exe
return puzzles/puzzles.chm
return puzzles/*.exe return puzzles/*.exe
return puzzles/Output/installer.exe return puzzles/Output/installer.exe
return puzzles/puzzles.msi return puzzles/puzzles.msi
@ -114,9 +109,7 @@ in puzzles do chmod +x *.exe
# return puzzles/puzzles.armv4.cab # return puzzles/puzzles.armv4.cab
#enddelegate #enddelegate
# Build the help file and the HTML docs. # Build the HTML docs.
in puzzles do make -f Makefile.doc clean # remove CHM-target HTML
in puzzles do make -f Makefile.doc # and rebuild help file...
in puzzles do mkdir doc in puzzles do mkdir doc
in puzzles do mkdir devel in puzzles do mkdir devel
in puzzles/doc do halibut --html -Chtml-contents-filename:index.html -Chtml-index-filename:indexpage.html -Chtml-template-filename:%k.html -Chtml-template-fragment:%k ../puzzles.but in puzzles/doc do halibut --html -Chtml-contents-filename:index.html -Chtml-index-filename:indexpage.html -Chtml-template-filename:%k.html -Chtml-template-fragment:%k ../puzzles.but

View File

@ -1,17 +1,17 @@
all: puzzles.hlp puzzles.txt HACKING all: puzzles.chm puzzles.hlp puzzles.txt HACKING
preprocessed.but: puzzles.but preprocessed.but: puzzles.but
sed 's/PREFIX-/$(BINPREFIX)/g' puzzles.but > preprocessed.but sed 's/PREFIX-/$(BINPREFIX)/g' puzzles.but > preprocessed.but
puzzles.hlp puzzles.txt: preprocessed.but puzzles.chm: preprocessed.but
halibut --winhelp=puzzles.hlp --text=puzzles.txt preprocessed.but halibut --chm=puzzles.chm preprocessed.but
puzzles.hlp: preprocessed.but
halibut --winhelp=puzzles.hlp preprocessed.but
puzzles.txt: preprocessed.but
halibut --text=puzzles.txt preprocessed.but
HACKING: devel.but HACKING: devel.but
halibut --text=HACKING devel.but halibut --text=HACKING devel.but
chm: puzzles.hhp
puzzles.hhp: puzzles.but chm.but
halibut --html puzzles.but chm.but
clean: clean:
rm -f puzzles.hlp puzzles.txt preprocessed.but HACKING *.html *.hh[pck] rm -f puzzles.hlp puzzles.txt preprocessed.but HACKING *.html *.hh[pck]

21
chm.but
View File

@ -1,21 +0,0 @@
\# File containing the magic HTML configuration directives to create
\# an MS HTML Help project. We put this on the end of the Puzzles
\# docs build command line to build the HHP and friends.
\cfg{html-leaf-level}{infinite}
\cfg{html-leaf-contains-contents}{false}
\cfg{html-suppress-navlinks}{true}
\cfg{html-suppress-address}{true}
\cfg{html-contents-filename}{index.html}
\cfg{html-template-filename}{%k.html}
\cfg{html-template-fragment}{%k}
\cfg{html-mshtmlhelp-chm}{puzzles.chm}
\cfg{html-mshtmlhelp-project}{puzzles.hhp}
\cfg{html-mshtmlhelp-contents}{puzzles.hhc}
\cfg{html-mshtmlhelp-index}{puzzles.hhk}
\cfg{html-body-end}{}
\cfg{html-head-end}{<link rel="stylesheet" type="text/css" href="chm.css">}

View File

@ -13,6 +13,12 @@
\cfg{html-contents-depth-1}{2} \cfg{html-contents-depth-1}{2}
\cfg{html-leaf-contains-contents}{true} \cfg{html-leaf-contains-contents}{true}
\cfg{chm-filename}{puzzles.chm}
\cfg{chm-contents-filename}{index.html}
\cfg{chm-template-filename}{%k.html}
\cfg{chm-head-end}{<link rel="stylesheet" type="text/css" href="chm.css">}
\cfg{chm-extra-file}{chm.css}
\cfg{info-filename}{puzzles.info} \cfg{info-filename}{puzzles.info}
\cfg{ps-filename}{puzzles.ps} \cfg{ps-filename}{puzzles.ps}