Commit | Line | Data |
---|---|---|
ef952542 NR |
1 | # Requires variables: NAME, PREFIX (for install and uninstall only) |
2 | ||
3 | .PHONY: man mrpropre mrproper install uninstall | |
4 | ||
5 | man: VERSION README.md README*.md | |
6 | @if pandoc -v >/dev/null 2>&1; then \ | |
7 | ls README*.md 2>/dev/null \ | |
8 | | grep 'README\(-..\|\)\.md' \ | |
9 | | while read man; do \ | |
10 | lang="`echo "$$man" \ | |
11 | | sed 's:README\.md:en:' \ | |
12 | | sed 's:README-\(.*\)\.md:\1:'`"; \ | |
13 | echo "Processing language: $$lang..."; \ | |
14 | echo mkdir -p man/"$$lang"/man1; \ | |
15 | mkdir -p man/"$$lang"/man1; \ | |
16 | echo "pandoc [...] > man/$$lang"/man1/"${NAME}.1"; \ | |
17 | ( \ | |
18 | echo ".TH \"${NAME}\" 1 `\ | |
19 | date +%Y-%m-%d\ | |
20 | ` \"version `cat VERSION`\""; \ | |
21 | echo; \ | |
22 | UNAME="`echo "${NAME}" \ | |
23 | | sed 's:\(.*\):\U\1:g'`"; \ | |
24 | ( \ | |
25 | cat "$$man" | head -n1 \ | |
26 | | sed 's:.*(README\(-..\|\)\.md).*::g'; \ | |
27 | cat "$$man" | tail -n+2; \ | |
28 | ) | sed 's:^#\(#.*\):\1:g' \ | |
29 | | sed 's:^\(#.*\):\U\1:g;s:# *'"$$UNAME"':# NAME\n'"${NAME}"' \\- :g' \ | |
30 | | sed 's:--:——:g' \ | |
31 | | pandoc -f markdown -t man | sed 's:——:--:g' ; \ | |
32 | ) > man/"$$lang"/man1/"${NAME}.1"; \ | |
33 | done; \ | |
34 | echo mkdir -p "man/man1"; \ | |
35 | mkdir -p "man/man1"; \ | |
36 | echo cp man/en/man1/"${NAME}".1 man/man1/; \ | |
37 | cp man/en/man1/"${NAME}".1 man/man1/; \ | |
38 | else \ | |
39 | echo "man pages generation: pandoc required" >&2; \ | |
40 | false; \ | |
41 | fi; \ | |
42 | ||
43 | mrproper: mrpropre | |
44 | mrpropre: | |
45 | rm -f man/man1/*.1 man/*/man1/*.1 | |
46 | rmdir man/*/man1 man/* man 2>/dev/null || true | |
47 | ||
48 | install: | |
49 | @if [ -e "man/man1/$(NAME).1" ]; then \ | |
50 | echo mkdir -p "$(PREFIX)"/share/man; \ | |
51 | mkdir -p "$(PREFIX)"/share/man; \ | |
52 | echo cp -r man "$(PREFIX)"/share/; \ | |
53 | cp -r man "$(PREFIX)"/share/; \ | |
54 | else \ | |
55 | echo "No manual has been built (see \`make man')"; \ | |
56 | fi | |
57 | ||
58 | uninstall: | |
59 | @if [ -e "man/man1/$(NAME).1" ]; then \ | |
60 | find man/ -type f | while read -r page; do \ | |
61 | echo rm "$(PREFIX)/share/$$page";\ | |
62 | rm "$(PREFIX)/share/$$page";\ | |
63 | done; \ | |
64 | echo rmdir "$(PREFIX)/share/man" 2>/dev/null \|\| true; \ | |
65 | rmdir "$(PREFIX)/share/man" 2>/dev/null || true; \ | |
66 | rmdir "$(PREFIX)/share" 2>/dev/null || true; \ | |
67 | else \ | |
68 | echo "No manual has been built (see \`make man')"; \ | |
69 | fi | |
70 |