PREFIX	= /usr
LIBDIR	= ${PREFIX}/lib
MANDIR	= ${PREFIX}/man

VERSION	= 0.1.1

CC	?= gcc
MAKE	?= make
CFLAGS	+= -fPIC -Wall -Wextra -pedantic
LDFLAGS	 = -ltcl -shared

SRC =	extern/array.c     \
	extern/buffer.c    \
	extern/markdown.c  \
	extern/renderers.c \
	tclsoldout.c

OBJ = ${SRC:.c=.o}

all: libtclsoldout.so

clean:
	rm -f ${OBJ} libtclsoldout.so

dist: all
	fossil tarball v${VERSION} --name tclsoldout-${VERSION} \
		tclsoldout-${VERSION}.tar.gz

html:
	mandoc -Thtml -Wall -Ostyle=http://dl.juef.tk/misc/man.css \
		tclsoldout.n > www/tclsoldout.n.html

install: all
	mkdir -p		${DESTDIR}${LIBDIR}/tclsoldout
	cp -f libtclsoldout.so	${DESTDIR}${LIBDIR}/tclsoldout
	chmod 0444		${DESTDIR}${LIBDIR}/tclsoldout/libtclsoldout.so

	cp -f pkgIndex.tcl	${DESTDIR}${LIBDIR}/tclsoldout
	chmod 0444		${DESTDIR}${LIBDIR}/tclsoldout/pkgIndex.tcl

	mkdir -p		${DESTDIR}${MANDIR}/mann
	cp -f tclsoldout.n	${DESTDIR}${MANDIR}/mann
	chmod 0444		${DESTDIR}${MANDIR}/mann/tclsoldout.n

md5: dist
	openssl dgst -md5 tclsoldout-${VERSION}.tar.gz \
		> tclsoldout-${VERSION}.md5

test: all
	@cd ./tests; ${MAKE}

uninstall:
	rm -rf	${DESTDIR}${LIBDIR}/tclsoldout
	rm -f	${DESTDIR}${MANDIR}/mann/tclsoldout.n

.c.o:
	${CC} ${CFLAGS} -c $< -o $@

libtclsoldout.so: ${OBJ}
	${CC} ${LDFLAGS} ${OBJ} -o $@

.PHONY: all clean dist html install md5 test uninstall
