From 8a48d402ca6948144107b6e3bc857d90155bf4cb Mon Sep 17 00:00:00 2001 From: simon Date: Sat, 20 Nov 2004 12:05:13 +0000 Subject: [PATCH] Arrange `make release' targets everywhere, and also `make html' which produces HTML versions of the man pages (yay Halibut). git-svn-id: svn://svn.tartarus.org/sgt/utils@4845 cda61777-01e9-0310-a592-d414129be87e --- Makefile | 8 ++++++++ base64/Makefile | 16 +++++++++++++++- base64/base64.but | 19 +++++++++---------- cvt-utf8/Makefile | 16 +++++++++++++++- cvt-utf8/cvt-utf8.but | 18 +++++++++--------- multi/Makefile | 16 +++++++++++++++- multi/multi.but | 20 ++++++++++---------- xcopy/Makefile | 18 +++++++++++++++++- xcopy/xcopy.but | 14 +++++++------- 9 files changed, 105 insertions(+), 40 deletions(-) diff --git a/Makefile b/Makefile index cbb0f20..d5cb05a 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,15 @@ SUBDIRS = base64 cvt-utf8 multi xcopy +DESTDIR = . all: for i in $(SUBDIRS); do make -C $$i; done clean: + rm -f *.html *.tar.gz for i in $(SUBDIRS); do make -C $$i clean; done + +html: + for i in $(SUBDIRS); do make -C $$i html DESTDIR=../$(DESTDIR); done + +release: + for i in $(SUBDIRS); do make -C $$i release DESTDIR=../$(DESTDIR); done diff --git a/base64/Makefile b/base64/Makefile index 44ec017..3c017a6 100644 --- a/base64/Makefile +++ b/base64/Makefile @@ -1,3 +1,5 @@ +DESTDIR = . + all: base64.1 base64 base64: base64.c @@ -7,4 +9,16 @@ base64: base64.c halibut --man=$@ $< clean: - rm -f *.1 base64 + rm -f *.1 base64 *.html *.tar.gz + +html: + halibut --html=$(DESTDIR)/base64.html base64.but + +release: base64.1 + mkdir -p reltmp/base64 + ln -s ../../base64.c reltmp/base64 + ln -s ../../base64.1 reltmp/base64 + ln -s ../../base64.but reltmp/base64 + ln -s ../../Makefile reltmp/base64 + tar -C reltmp -chzvf $(DESTDIR)/base64.tar.gz base64 + rm -rf reltmp diff --git a/base64/base64.but b/base64/base64.but index 0e09007..ec790f7 100644 --- a/base64/base64.but +++ b/base64/base64.but @@ -1,20 +1,19 @@ \cfg{man-identity}{base64}{1}{2004-11-20}{Simon Tatham}{Simon Tatham} -\cfg{man-mindepth}{1} -\C{base64-manpage} Man page for \cw{base64} +\title Man page for \cw{base64} -\H{base64-manpage-name} NAME +\U NAME \cw{base64} - stand-alone encoder and decoder for base64 -\H{base64-manpage-synopsis} SYNOPSIS +\U SYNOPSIS \c base64 [ -d ] [ filename ] \e bbbbbb bb iiiiiiii -\c base64 -e [ -cwidth ] [ filename ] -\e bbbbbb bb bbiiiii iiiiiiii +\c base64 -e [ -c width ] [ filename ] +\e bbbbbb bb bb iiiii iiiiiiii -\H{base64-manpage-description} DESCRIPTION +\U DESCRIPTION \cw{base64} is a command-line utility for encoding and decoding the \q{base64} encoding. @@ -34,7 +33,7 @@ need to inspect a Content-MD5 header or an SSH private key. base64 format \e{alone}. It does not try to understand MIME headers or anything other than raw data. -\H{base64-manpage-options} OPTIONS +\U OPTIONS By default (if neither \cw{-d} or \cw{-e} is supplied), \cw{base64} operates in decode mode. @@ -52,7 +51,7 @@ and output the decoded data on standard output. binary data from standard input or the supplied file name, encode it as base64, and output the encoded data on standard output. -\dt \cw{-c}\e{width} +\dt \cw{-c} \e{width} \dd If \cw{base64} is operating in encode mode, this controls the number of base64 characters output per line of the encoded file. @@ -72,7 +71,7 @@ parameter passed to \cw{-c} must be a multiple of 4. } -\H{base64-manpage-licence} LICENCE +\U LICENCE \cw{base64} is free software, distributed under the MIT licence. Type \cw{base64 --licence} to see the full licence text. diff --git a/cvt-utf8/Makefile b/cvt-utf8/Makefile index e766e09..f824e5a 100644 --- a/cvt-utf8/Makefile +++ b/cvt-utf8/Makefile @@ -1,7 +1,21 @@ +DESTDIR = . + all: cvt-utf8.1 %.1: %.but halibut --man=$@ $< clean: - rm -f *.1 + rm -f *.1 *.html *.tar.gz + +html: + halibut --html=$(DESTDIR)/cvt-utf8.html cvt-utf8.but + +release: cvt-utf8.1 + mkdir -p reltmp/cvt-utf8 + ln -s ../../cvt-utf8 reltmp/cvt-utf8 + ln -s ../../cvt-utf8.1 reltmp/cvt-utf8 + ln -s ../../cvt-utf8.but reltmp/cvt-utf8 + ln -s ../../Makefile reltmp/cvt-utf8 + tar -C reltmp -chzvf $(DESTDIR)/cvt-utf8.tar.gz cvt-utf8 + rm -rf reltmp diff --git a/cvt-utf8/cvt-utf8.but b/cvt-utf8/cvt-utf8.but index 1bab0ae..3ee4832 100644 --- a/cvt-utf8/cvt-utf8.but +++ b/cvt-utf8/cvt-utf8.but @@ -1,18 +1,18 @@ \cfg{man-identity}{cvt-utf8}{1}{2004-03-24}{Simon Tatham}{Simon Tatham} -\cfg{man-mindepth}{1} +\cfg{html-chapter-numeric}{yes} -\C{cvt-utf8-manpage} Man page for \cw{cvt-utf8} +\title Man page for \cw{cvt-utf8} -\H{cvt-utf8-manpage-name} NAME +\U NAME \cw{cvt-utf8} - convert between UTF-8 and Unicode, and analyse Unicode -\H{cvt-utf8-manpage-synopsis} SYNOPSIS +\U SYNOPSIS \c cvt-utf8 [flags] [hex UTF-8 bytes and/or U+codepoints] \e bbbbbbbb iiiii iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii -\H{cvt-utf8-manpage-description} DESCRIPTION +\U DESCRIPTION \cw{cvt-utf8} is a tool for manipulating and analysing UTF-8 and Unicode data. Its functions include: @@ -35,7 +35,7 @@ print out a verbose analysis of the input data. If you need it to read UTF-8 from standard input or to write pure UTF-8 to standard output, you can do so using command-line options. -\H{cvt-utf8-manpage-options} OPTIONS +\U OPTIONS \dt \cw{-i} @@ -52,7 +52,7 @@ long analysis of the input data. \dd Look up each code point in the Unihan database as well as the main Unicode character database. -\H{cvt-utf8-manpage-examples} EXAMPLES +\U EXAMPLES In \cw{cvt-utf8}'s native mode, it simply analyses input Unicode or UTF-8 data. For example, you can give a list of Unicode code @@ -127,7 +127,7 @@ Chinese text meaning \q{Traditional Chinese}: \c midst of; hit (target); attain \c U-00006587 E6 96 87 literature, culture, writing -\H{cvt-utf8-manpage-admin} ADMINISTRATION +\U ADMINISTRATION In order to print the \cw{unicode.org} official name of each character, \cw{cvt-utf8} requires file mapping code points to names. @@ -185,7 +185,7 @@ following locations: If either of these files is not found, \cw{cvt-utf8} will still perform the rest of its functions. -\H{cvt-utf8-manpage-licence} LICENCE +\U LICENCE \cw{cvt-utf8} is free software, distributed under the MIT licence. Type \cw{cvt-utf8 --licence} to see the full licence text. diff --git a/multi/Makefile b/multi/Makefile index 51b171d..dbd057a 100644 --- a/multi/Makefile +++ b/multi/Makefile @@ -1,7 +1,21 @@ +DESTDIR = . + all: multi.1 %.1: %.but halibut --man=$@ $< clean: - rm -f *.1 + rm -f *.1 *.html *.tar.gz + +html: + halibut --html=$(DESTDIR)/multi.html multi.but + +release: multi.1 + mkdir -p reltmp/multi + ln -s ../../multi reltmp/multi + ln -s ../../multi.1 reltmp/multi + ln -s ../../multi.but reltmp/multi + ln -s ../../Makefile reltmp/multi + tar -C reltmp -chzvf $(DESTDIR)/multi.tar.gz multi + rm -rf reltmp diff --git a/multi/multi.but b/multi/multi.but index 9bff4c5..81fd1b6 100644 --- a/multi/multi.but +++ b/multi/multi.but @@ -1,20 +1,20 @@ \cfg{man-identity}{multi}{1}{2004-11-20}{Simon Tatham}{Simon Tatham} \cfg{man-mindepth}{1} -\C{multi-manpage} Man page for \cw{multi} +\title Man page for \cw{multi} -\H{multi-manpage-name} NAME +\U NAME \cw{multi} - bulk file rename/copy utility using Perl regexps -\H{multi-manpage-synopsis} SYNOPSIS +\U SYNOPSIS \c multi [ -n | -q ] [ -r ] cmd perlfragment file [file...] \e bbbbb bb bb bb iii iiiiiiiiiiii iiii iiii \c multi [ -n | -q ] [ -r ] - cmd cmd - perlfragment file [file...] \e bbbbb bb bb bb iii iii iiiiiiiiiiii iiii iiii -\H{multi-manpage-description} DESCRIPTION +\U DESCRIPTION \cw{multi} is a utility which allows you to invoke a command (typically, but not always, \cw{mv} or \cw{cp}) on a lot of files in @@ -30,7 +30,7 @@ the old and new filenames as arguments. passing \cw{mv} or \cw{cp} as the command. However, it can have more complex uses as well; see the examples below. -\H{multi-manpage-args} ARGUMENTS +\U ARGUMENTS \dt \e{cmd} @@ -70,7 +70,7 @@ of \cw{multi}. to be transformed. Typically these will be generated by typing one or more wildcard expressions on the shell command line. -\H{multi-manpage-options} OPTIONS +\U OPTIONS By default, \cw{multi} will print every command it executes on standard output, so that you can see what it has just done (in case @@ -101,7 +101,7 @@ in that order. \dd Reverse the order of arguments to the subcommand, so that it receives the transformed file name \e{before} the original one. -\H{multi-manpage-examples} EXAMPLES +\U EXAMPLES The simplest use of \cw{multi} is to rename a large number of files. Suppose, for example, you have a lot of text files with \cw{.txt} @@ -172,7 +172,7 @@ Here's an example using \cw{-r}. Suppose you have lots of small C programs and you want to quickly compile them all into binaries: \c $ multi -r - cc -o - 's/.c$//' *.c -\c bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +\e bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb \c cc -o bar bar.c \c cc -o baz baz.c \c cc -o foo foo.c @@ -197,7 +197,7 @@ commands like \c grep foo baz.txt > baz.grepped \c grep foo foo.txt > foo.grepped -\H{multi-manpage-ack} ACKNOWLEDGEMENTS +\U ACKNOWLEDGEMENTS The O'Reilly book \q{Programming Perl} includes a simple example script which contains the core idea of this program. It takes a @@ -205,7 +205,7 @@ single Perl argument followed by filenames, and invokes Perl's internal \cw{rename} function. \cw{multi} is a complete rewrite of this basic idea, supplying more options and configurability. -\H{multi-manpage-licence} LICENCE +\U LICENCE \cw{multi} is free software, distributed under the MIT licence. Type \cw{multi --licence} to see the full licence text. diff --git a/xcopy/Makefile b/xcopy/Makefile index 6f193bc..3284f80 100644 --- a/xcopy/Makefile +++ b/xcopy/Makefile @@ -1,3 +1,5 @@ +DESTDIR = . + X11LIB=-L/usr/X11R6/lib -lX11 all: xcopy.1 xcopy @@ -9,4 +11,18 @@ xcopy: xcopy.c halibut --man=$@ $< clean: - rm -f *.1 xcopy + rm -f *.1 xcopy *.html *.tar.gz + +html: + halibut --html=$(DESTDIR)/xcopy.html xcopy.but + +release: xcopy.1 + mkdir -p reltmp/xcopy + ln -s ../../xcopy.c reltmp/xcopy + ln -s ../../xcopy.1 reltmp/xcopy + ln -s ../../xcopy.but reltmp/xcopy + ln -s ../../Makefile reltmp/xcopy + tar -C reltmp -chzvf $(DESTDIR)/xcopy.tar.gz xcopy + rm -rf reltmp + + diff --git a/xcopy/xcopy.but b/xcopy/xcopy.but index a318954..1be9e0c 100644 --- a/xcopy/xcopy.but +++ b/xcopy/xcopy.but @@ -1,19 +1,19 @@ \cfg{man-identity}{xcopy}{1}{2004-08-02}{Simon Tatham}{Simon Tatham} \cfg{man-mindepth}{1} -\C{xcopy-manpage} Man page for \cw{xcopy} +\title Man page for \cw{xcopy} -\H{xcopy-manpage-name} NAME +\U NAME \cw{xcopy} - read and write text to/from an X selection from the command line -\H{xcopy-manpage-synopsis} SYNOPSIS +\U SYNOPSIS \c xcopy [ -r ] [ -u | -c ] [ -C ] \e bbbbb bb bb bb bb -\H{xcopy-manpage-description} DESCRIPTION +\U DESCRIPTION \cw{xcopy} is a command-line utility for manipulating the X selection. @@ -42,7 +42,7 @@ of handling it in the form of plain text, UTF-8, or compound (multiple-character-set) text. Use the \cw{-u}, \cw{-c} and \cw{-C} options to control this aspect of its behaviour. -\H{xcopy-manpage-options} OPTIONS +\U OPTIONS By default (if \cw{-r} is not supplied), \cw{xcopy} operates in write mode. @@ -91,7 +91,7 @@ window, you might well want to paste a string full of escape sequences and control characters, in which case you may need to use \cw{-C} to disable conversion to compound text. -\H{xcopy-manpage-bugs} BUGS +\U BUGS Occasionally \cw{xcopy -r} completely fails to notice selection data owned by another process. I have not yet reproduced this reliably; @@ -103,7 +103,7 @@ currently supported. There are Xlib functions to do it, although they don't appear to work very well (missing out many characters which they could have converted). -\H{xcopy-manpage-licence} LICENCE +\U LICENCE \cw{xcopy} is free software, distributed under the MIT licence. Type \cw{xcopy --licence} to see the full licence text. -- 2.11.0