about summary refs log tree commit diff
path: root/Makefile
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2021-01-27 22:35:39 -0500
committerJune McEnroe <june@causal.agency>2021-01-27 22:39:03 -0500
commit809d6629c97bd9c4bdf6c799e74a261bb510b1fd (patch)
tree38e7a60244090ad01cb0b9cef7fc88f1220c159c /Makefile
parentUpdate to man-pages-posix 2017-a (diff)
downloadexman-809d6629c97bd9c4bdf6c799e74a261bb510b1fd.tar.gz
exman-809d6629c97bd9c4bdf6c799e74a261bb510b1fd.zip
Completely rewrite how manuals are fetched and installed
Also add section 6 manuals from NetBSD and OpenBSD!
Diffstat (limited to '')
-rw-r--r--Makefile84
1 files changed, 31 insertions, 53 deletions
diff --git a/Makefile b/Makefile
index 80c41b6..275d6ac 100644
--- a/Makefile
+++ b/Makefile
@@ -1,63 +1,41 @@
-PREFIX = /usr/local
-SHAREDIR = ${PREFIX}/share
-MANDIR = ${SHAREDIR}/man
+PREFIX ?= /usr/local
+SHAREDIR ?= ${PREFIX}/share
+MANDIR ?= ${SHAREDIR}/man
+EXMANDIR ?= ${SHAREDIR}/exman
 
-CURL ?= curl
-TAR ?= tar
+SYSTEMS += FreeBSD
+SYSTEMS += Linux
+SYSTEMS += NetBSD
+SYSTEMS += OpenBSD
+SYSTEMS += POSIX
 
-SYSTEMS += freebsd
-SYSTEMS += linux
-SYSTEMS += netbsd
-SYSTEMS += openbsd
-SYSTEMS += posix
+all: exman
+.for system in ${SYSTEMS}
+	${MAKE} -C ${system} ${.TARGET}
+.endfor
 
-all: exman ${SYSTEMS}
+.SUFFIXES: .in
 
-.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
+.in:
+	sed 's|%%EXMANDIR%%|${EXMANDIR}|g' ${.IMPSRC} > ${.TARGET}
+	chmod a+x ${.TARGET}
 
 clean:
-	rm -fr ${SYSTEMS} *.tar
+	rm -f exman
+.for system in ${SYSTEMS}
+	${MAKE} -C ${system} ${.TARGET}
+.endfor
 
-install: exman exman.1 ${SYSTEMS}
-	install -d ${PREFIX}/bin ${MANDIR}/man1 ${SHAREDIR}/exman
+install: exman exman.1
+	install -d ${PREFIX}/bin ${MANDIR}/man1
 	install exman ${PREFIX}/bin
-	gzip -c exman.1 > ${MANDIR}/man1/exman.1.gz
-	${TAR} -c -f - ${SYSTEMS} | ${TAR} -xo -f - -C ${SHAREDIR}/exman
+	install -m 644 exman.1 ${MANDIR}/man1
+.for system in ${SYSTEMS}
+	${MAKE} -C ${system} ${.TARGET}
+.endfor
 
 uninstall:
-	rm -fr ${PREFIX}/bin/exman ${MANDIR}/man1/exman.1.gz ${SHAREDIR}/exman
+	rm -f ${PREFIX}/bin/exman ${MANDIR}/man1/exman.1
+.for system in ${SYSTEMS}
+	${MAKE} -C ${system} ${.TARGET}
+.endfor