.POSIX:

NAME = tardis
VERSION = 0.1.0

# paths
PREFIX = /usr/local
MANPREFIX = ${PREFIX}/man
DOCPREFIX = ${PREFIX}/share/doc/${NAME}

SCRIPTS = tardis

MAN1 = ${SCRIPTS:=.1}
DOC = \
	README\
	LICENSE

install: README
	# installing executable files and scripts.
	mkdir -p "${DESTDIR}${PREFIX}/bin"
	cp -f ${SCRIPTS} "${DESTDIR}${PREFIX}/bin"
	for f in ${SCRIPTS}; do chmod 755 "${DESTDIR}${PREFIX}/bin/$$f"; done
	# installing documentation files.
	mkdir -p "${DESTDIR}${DOCPREFIX}"
	cp -f ${DOC} "${DESTDIR}${DOCPREFIX}"
	for d in ${DOC}; do chmod 755 "${DESTDIR}${DOCPREFIX}/$$d"; done
	# installing manual pages for general commands: section 1.
	mkdir -p "${DESTDIR}${MANPREFIX}/man1"
	cp -f ${MAN1} "${DESTDIR}${MANPREFIX}/man1"
	for m in ${MAN1}; do chmod 644 "${DESTDIR}${MANPREFIX}/man1/$$m"; done

README: ${MAN1}
	mandoc -T ascii ${MAN1} | col -bx > $@

uninstall:
	# removing executable files and scripts.
	for f in ${SCRIPTS}; do rm -f "${DESTDIR}${PREFIX}/bin/$$f"; done
	# removing example files.
	for d in ${DOC}; do rm -f "${DESTDIR}${DOCPREFIX}/$$d"; done
	-rmdir "${DESTDIR}${DOCPREFIX}"
	# removing manual pages.
	for m in ${MAN1}; do rm -f "${DESTDIR}${MANPREFIX}/man1/$$m"; done

dist:
	rm -rf "${NAME}-${VERSION}"
	mkdir -p "${NAME}-${VERSION}"
	cp -rf ${MAN1} ${DOC} ${SCRIPTS} "${NAME}-${VERSION}"
	# make tarball
	tar cf - "${NAME}-${VERSION}" | \
		gzip -c > "${NAME}-${VERSION}.tar.gz"
	rm -rf "${NAME}-${VERSION}"

.PHONY: install uninstall dist
