PREFIX?=/usr/local
LOCALBASE?=/usr/local/

DESTDIR?=/
DEST=${DESTDIR}${PREFIX}/bin
MANDIR=${DESTDIR}${PREFIX}/man/man3/
INCDIR=${DESTDIR}${PREFIX}/include
LIBDIR=${DESTDIR}${PREFIX}/lib
ETCDIR=${DESTDIR}${PREFIX}/etc/

INSTALL_PROGRAM?=/usr/bin/install -c -s
INSTALL_SCRIPT?=/usr/bin/install -c
INSTALL_MAN?=/usr/bin/install -c
INSTALL_DATA?=/usr/bin/install -c

RM?=/bin/rm -f
CP?=/bin/cp
MKDIR?=/bin/mkdir -p
RMDIR?=/bin/rmdir
CHMOD?=/bin/chmod
GZIP_CMD?=/usr/bin/gzip
SED?=/usr/bin/sed
LN?=/bin/ln -f

VERSION=2.7

CFLAGS+= -Wall -DVERSION=\"${VERSION}\"
IFLAGS= -I${LOCALBASE}/include
DLFLAGS= -fpic -shared -Wl,-soname,libdorrit.so.${VERSION}
PLFLAGS= -fpic -shared -Wl,-soname,libpip.so.${VERSION}

.PHONY: all
all: libdorrit.so libpip.so

libdorrit.so: dorrit.c
	${CC} ${CFLAGS} ${DLFLAGS} -o $@ dorrit.c

libpip.so: pip.c
	${CC} ${CFLAGS} ${PLFLAGS} -o $@ pip.c

echo: echo.c libdorrit.so
	${CC} -ggdb ${CFLAGS} -O0 -o echo echo.c -L./ -ldorrit

.PHONY: install
install: all
	${INSTALL_PROGRAM} libdorrit.so ${LIBDIR}/libdorrit.so.${VERSION}
	${INSTALL_PROGRAM} libpip.so ${LIBDIR}/libpip.so.${VERSION}
	${LN} -s libdorrit.so.${VERSION} ${LIBDIR}/libdorrit.so
	${LN} -s libpip.so.${VERSION} ${LIBDIR}/libpip.so
	${INSTALL_DATA} dorrit.h pip.h ${INCDIR}
	${CP} dorrit.man libdorrit.3
	${GZIP_CMD} -f libdorrit.3
	${INSTALL_MAN} libdorrit.3.gz ${MANDIR}
	${CP} pip.man libpip.3
	${GZIP_CMD} -f libpip.3
	${INSTALL_MAN} libpip.3.gz ${MANDIR}

.PHONY: deinstall
deinstall:
	${RM} ${LIBDIR}/libdorrit.so* ${LIBDIR}/libpip.so*
	${RM} ${MANDIR}/libdorrit* ${MANDIR}/libpip*
	${RM} ${INCDIR}/dorrit.h ${INCDIR}/pip.h

.PHONY: clean
clean:
	rm -f echo *.rc *.o *tmp *backup *gz *.so
