summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/lib.sh44
-rwxr-xr-xtools/makehelp.sh149
-rwxr-xr-xtools/manpages.sh126
3 files changed, 0 insertions, 319 deletions
diff --git a/tools/lib.sh b/tools/lib.sh
deleted file mode 100644
index 23953d2..0000000
--- a/tools/lib.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/sh
-
-assert_arg() {
- if [ -z "$1" ]; then
- printf 'Missing %s.\n\n' "$2" >&2
- cat <<-'EOF'
- usage >&2
- exit 2
- EOF
- fi
-}
-
-uuid() {
- od -xN20 /dev/urandom |
- head -n1 |
- awk '{OFS="-"; print $2$3,$4,$5,$6,$7$8$9}'
-}
-
-tmpname() {
- echo "${TMPDIR:-/tmp}/uuid-tmpname with spaces.$(uuid)"
-}
-
-mkstemp() {
- name="$(tmpname)"
- touch "$name"
- echo "$name"
-}
-
-mkdtemp() {
- name="$(tmpname)"
- mkdir "$name"
- echo "$name"
-}
-
-END="\033[0m"
-yellow() {
- YELLOW="\033[0;33m"
- printf "${YELLOW}${1}${END}"
-}
-
-green() {
- GREEN="\033[0;32m"
- printf "${GREEN}${1}${END}"
-}
diff --git a/tools/makehelp.sh b/tools/makehelp.sh
deleted file mode 100755
index e6118de..0000000
--- a/tools/makehelp.sh
+++ /dev/null
@@ -1,149 +0,0 @@
-#!/bin/sh
-set -eu
-
-. tools/lib.sh
-
-
-usage() {
- cat <<-'EOF'
- Usage:
- makehelp.sh < MAKEFILE
- makehelp.sh -h
- EOF
-}
-
-help() {
- cat <<-'EOF'
-
-
- Options:
- -h, --help show this message
-
-
- Generate a help message from the given Makefile.
-
- Any target or variable commented with two "#" characters gets
- picked up. Multi-line comments are supported:
-
- VAR1 = 1
- # a comment
- VAR2 = 2
- ## another comment -> this one is included in the docs
- VAR3 = 3
-
- ## with a big
- ## comment, which is also included
- a-target:
-
-
- Examples:
-
- Generate help messages from "Makefile":
-
- $ aux/makehelp.sh < Makefile
-
-
- Generate help messages for all targets:
-
- $ cat Makefile dev.mk | aux/makehelp.sh
- EOF
-}
-
-
-for flag in "$@"; do
- case "$flag" in
- (--)
- break
- ;;
- (--help)
- usage
- help
- exit
- ;;
- (*)
- ;;
- esac
-done
-
-while getopts 'h' flag; do
- case "$flag" in
- (h)
- usage
- help
- exit
- ;;
- (*)
- usage >&2
- exit 2
- ;;
- esac
-done
-shift $((OPTIND - 1))
-
-
-TARGETS="$(mkstemp)"
-VARIABLES="$(mkstemp)"
-trap 'rm -f "$TARGETS" "$VARIABLES"' EXIT
-
-awk -vCOLUMN=15 -vTARGETS="$TARGETS" -vVARIABLES="$VARIABLES" '
-function indent(n, where) {
- for (INDENT = 0; INDENT < n; INDENT++) {
- printf " " > where
- }
-}
-
-/^## / { doc[len++] = substr($0, 4) }
-
-/^[-_a-zA-Z]+:/ && len {
- printf "\033[36m%s\033[0m", substr($1, 1, length($1) - 1) > TARGETS
- for (i = 0; i < len; i++) {
- n = COLUMN - (i == 0 ? length($1) - 1 : 0)
- indent(n, TARGETS)
- printf "%s\n", doc[i] > TARGETS
- }
- len = 0
-}
-
-/^.++=/ && len {
- printf "\033[36m%s\033[0m", $1 > VARIABLES
- for (i = 0; i < len; i++) {
- n = COLUMN - (i == 0 ? length($1) : 0)
- indent(n, VARIABLES)
- printf "%s\n", doc[i] > VARIABLES
- }
- len = 0
-}'
-
-
-
-indent() {
- sed 's|^| |'
-}
-
-cat <<-EOF
- Usage:
-
- make [VARIABLE=value...] [target...]
-
-
- Targets:
-
- $(indent < "$TARGETS")
-
-
- Variables:
-
- $(indent < "$VARIABLES")
-
-
- Examples:
-
- Build "all", the default target:
-
- $ make
-
-
- Test and install, with \$(DESTDIR) set to "tmp/":
-
- $ make DESTDIR=tmp check install
-EOF
diff --git a/tools/manpages.sh b/tools/manpages.sh
deleted file mode 100755
index 755ff77..0000000
--- a/tools/manpages.sh
+++ /dev/null
@@ -1,126 +0,0 @@
-#!/bin/sh
-set -eu
-
-. tools/lib.sh
-
-
-usage() {
- cat <<-'EOF'
- Usage:
- sh doc/manpages.sh -i|-u -p MANDIR FILE...
- sh doc/manpages.sh -h
- EOF
-}
-
-help() {
- cat <<-'EOF'
-
-
- Options:
- -i set ACTION=install
- -u set ACTION=uninstall
- -p MANDIR use $MANDIR as the prefix directory
- -h, --help show this message
-
-
- Installs/uninstalls manpage files into MANDIR using the original
- filename as a hint towards which subdirectory to pick: the
- `prog.ru.1` file is installed under the `man1/` directory
- hierarchy under the `ru/` language folder. When then language
- is `en`, a the toplevel `man1/` gets a symlink to the `en/`
- language folder:
-
- man/
- en/
- man1/
- prog.1
- ru/
- man1/
- prog.1
- man1/
- prog.1 -> ../en/man1/prog.1
-
-
- Examples:
-
- Install prog.en.1 under `/usr/man`:
-
- $ sh doc/manpages.sh -ip/usr/man prog.en.1
-
-
- Uninstall all files listed under doc/ from `$PREFIX`:
-
- sh doc/manpages.sh -up "$PREFIX" doc/*.[0-9]
- EOF
-}
-
-
-for flag in "$@"; do
- case "$flag" in
- (--)
- break
- ;;
- (--help)
- usage
- help
- exit
- ;;
- (*)
- ;;
- esac
-done
-
-while getopts 'iup:h' flag; do
- case "$flag" in
- (i)
- ACTION=install
- ;;
- (u)
- ACTION=uninstall
- ;;
- (p)
- MANDIR="$OPTARG"
- ;;
- (h)
- usage
- help
- exit
- ;;
- (*)
- usage >&2
- exit 2
- ;;
- esac
-done
-shift $((OPTIND - 1))
-
-eval "$(assert_arg "${ACTION:-}" '-[iu] for choosing action')"
-eval "$(assert_arg "${MANDIR:-}" '-p MANDIR')"
-eval "$(assert_arg "${1:-}" 'FILE...')"
-
-
-for f in "$@"; do
- l="$(echo "$f" | awk -F. '{print $(NF-1)}')"
- n="$(echo "$f" | awk -F. '{print $NF}')"
- case "$ACTION" in
- (install)
- to_name="$(basename "${f%."$l"."$n"}.$n")"
- mkdir -p "$MANDIR/$l/man$n" "$MANDIR/man$n"
- cp "$f" "$MANDIR/$l/man$n/$to_name"
- if [ "$l" = 'en' ]; then
- ln -fs "../en/man$n/$to_name" \
- "$MANDIR/man$n/$to_name"
- fi
- ;;
- (uninstall)
- to_name="$(basename "${f%."$l"."$n"}.$n")"
- rm -f \
- "$MANDIR/$l/man$n/$to_name" \
- "$MANDIR/man$n/$to_name"
- ;;
- (*)
- echo "Bad ACTION: $ACTION"
- exit 1
- ;;
- esac
-done