about summary refs log tree commit diff
path: root/Makefile
blob: 80c41b69092373830bb1ae3c277bf65cd90698ee (plain) (blame)
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
PREFIX = /usr/local
SHAREDIR = ${PREFIX}/share
MANDIR = ${SHAREDIR}/man

CURL ?= curl
TAR ?= tar

SYSTEMS += freebsd
SYSTEMS += linux
SYSTEMS += netbsd
SYSTEMS += openbsd
SYSTEMS += posix

all: exman ${SYSTEMS}

.SUFFIXES: .tar .url

.PRECIOUS: ${SYSTEMS:=.tar}

.url.tar:
	${CURL} -f -o $@ "$$(cat $<)"

.tar:
	mkdir -p $@
	${TAR} -x -f $< -C $@ --strip-components ${STRIP.$@} ${FILES.$@}

netbsd: netbsd-man.tar netbsd-comp.tar
	mkdir -p $@
	${TAR} -x -f netbsd-man.tar -C $@ --strip-components ${STRIP.$@} ${FILES.$@}
	${TAR} -x -f netbsd-comp.tar -C $@ --strip-components ${STRIP.$@} ${FILES.$@}

.PRECIOUS: netbsd-man.tar netbsd-comp.tar

openbsd: openbsd-man.tar openbsd-comp.tar
	mkdir -p $@
	${TAR} -x -f openbsd-man.tar -C $@ --strip-components ${STRIP.$@} ${FILES.$@}
	${TAR} -x -f openbsd-comp.tar -C $@ --strip-components ${STRIP.$@} ${FILES.$@}

.PRECIOUS: openbsd-man.tar openbsd-comp.tar

FILES.freebsd = './usr/share/man/man[1-9]/'
FILES.netbsd = './usr/share/man/man[1-9]*/'
FILES.openbsd = './usr/share/man/man[1-9]*/'
FILES.linux = '*/man[1-9]/'
FILES.posix = '*/man[0-3]p/'

STRIP.freebsd = 4
STRIP.netbsd = 4
STRIP.openbsd = 4
STRIP.linux = 1
STRIP.posix = 1

clean:
	rm -fr ${SYSTEMS} *.tar

install: exman exman.1 ${SYSTEMS}
	install -d ${PREFIX}/bin ${MANDIR}/man1 ${SHAREDIR}/exman
	install exman ${PREFIX}/bin
	gzip -c exman.1 > ${MANDIR}/man1/exman.1.gz
	${TAR} -c -f - ${SYSTEMS} | ${TAR} -xo -f - -C ${SHAREDIR}/exman

uninstall:
	rm -fr ${PREFIX}/bin/exman ${MANDIR}/man1/exman.1.gz ${SHAREDIR}/exman