/
Makefile
89 lines (80 loc) · 2.84 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
PREFIX=/usr/local
SYSCONFDIR=${PREFIX}/etc
INSTALL=./scripts/install-sh
AWK=./scripts/awk-sh
MKPATH=${INSTALL} -m 755 -d
INSTALLBIN=${INSTALL} -m 555
INSTALLMAN=${INSTALL} -m 444
INSTALLCONF=${INSTALL} -m 644
ANSIESC=src/ansiesc/autoload/AnsiEsc.vim src/ansiesc/plugin/AnsiEscPlugin.vim src/ansiesc/plugin/cecutil.vim
SRC=src/vimpager.vim src/less.vim src/perldoc.vim src/ConcealRetab.vim vimcat ${ANSIESC}
all: vimpager docs
@chmod +x vimcat
vimpager: ${SRC}
@SRC="$?"; \
chmod +x ${AWK} 2>/dev/null || true; \
for src in $$SRC; do \
echo "installing $$src into vimpager"; \
mv vimpager vimpager.work; \
${AWK} '\
$$0 ~ "^begin [0-9]* [^ ]*/*'`basename $$src`'" { exit } \
{ print } \
' vimpager.work > vimpager; \
uuencode "$$src" "$$src" > "$${src}.uu"; \
cat "$${src}.uu" >> vimpager; \
echo EOF >> vimpager; \
${AWK} '\
BEGIN { skip = 1 } \
$$0 ~ "^# END OF [^ ]*/*'`basename $$src`'" { skip = 0 } \
skip == 1 { next } \
{ print } \
' vimpager.work >> vimpager; \
rm -f vimpager.work "$${src}.uu"; \
done
@rm -f src/ansiesc.tar
@chmod +x vimpager
uninstall:
rm -f ${PREFIX}/bin/vimpager
rm -f ${PREFIX}/bin/vimcat
rm -f ${PREFIX}/share/man/man1/vimpager.1
rm -f ${PREFIX}/share/man/man1/vimcat.1
rm -f ${PREFIX}/etc/vimpagerrc
install: docs
@chmod +x ./install-sh 2>/dev/null || true; \
${MKPATH} ${DESTDIR}${PREFIX}/bin; \
echo ${INSTALLBIN} vimpager ${DESTDIR}${PREFIX}/bin/vimpager; \
${INSTALLBIN} vimpager ${DESTDIR}${PREFIX}/bin/vimpager; \
echo ${INSTALLBIN} vimcat ${DESTDIR}${PREFIX}/bin/vimcat; \
${INSTALLBIN} vimcat ${DESTDIR}${PREFIX}/bin/vimcat; \
if [ -r vimpager.1 -o -r vimcat.1 ]; then \
${MKPATH} ${DESTDIR}${PREFIX}/share/man/man1; \
fi; \
if [ -r vimpager.1 ]; then \
echo ${INSTALLMAN} vimpager.1 ${DESTDIR}${PREFIX}/share/man/man1/vimpager.1; \
${INSTALLMAN} vimpager.1 ${DESTDIR}${PREFIX}/share/man/man1/vimpager.1; \
fi; \
if [ -r vimcat.1 ]; then \
echo ${INSTALLMAN} vimcat.1 ${DESTDIR}${PREFIX}/share/man/man1/vimcat.1; \
${INSTALLMAN} vimcat.1 ${DESTDIR}${PREFIX}/share/man/man1/vimcat.1; \
fi; \
${MKPATH} ${DESTDIR}${SYSCONFDIR}; \
echo ${INSTALLCONF} vimpagerrc ${DESTDIR}${SYSCONFDIR}/vimpagerrc; \
${INSTALLCONF} vimpagerrc ${DESTDIR}${SYSCONFDIR}/vimpagerrc
docs: vimpager.1 vimcat.1
@rm -f docs-warn-stamp
%.1: doc/%.md
@if command -v pandoc >/dev/null; then \
echo 'generating $@'; \
pandoc -s -w man $< -o $@; \
else \
if [ ! -r docs-warn-stamp ]; then \
echo >&2; \
echo "[1;31mWARNING[0m: pandoc is not available, man pages will not be generated. If you want to install the man pages, install pandoc and re-run make." >&2; \
echo >&2; \
touch docs-warn-stamp; \
fi; \
fi
realclean distclean clean:
rm -f *.1 *.work *-stamp
rm -f `find . -name '*.uu'`
.PHONY: all install uninstall docs realclean distclean clean