# Compile and install parameters: these tell make where to look for
# sources and put installed files.
DESTDIR=
srcdir=		.

# Target variables: these get baked into the installed files.
PREFIX=		/usr/local
BINDIR=		${PREFIX}/bin
SBINDIR=	${PREFIX}/sbin
EGDIR=		${PREFIX}/share/examples/nsd-dyndns
STATEDIR=	/var/run

RCD_SCRIPTS_SHELL=	/bin/sh

NSD_BINDIR=	/usr/local/sbin
NSD_CONF=	/etc/nsd/nsd.conf

LOGGER=		/usr/bin/logger

# Utilities: make uses these to do things.
INSTALL=	/usr/bin/install
INSTALL_DIR=	${INSTALL} -d
INSTALL_PROGRAM=${INSTALL}
INSTALL_SCRIPT=	${INSTALL}

DELETE=		${RM} -f --
MV=		mv
RENAME=		${MV} -f --
RM=		rm
SED=		sed

SUBST=		${SED} \
	-e s\'@BINDIR@\''${BINDIR}'\'g \
	-e s\'@EGDIR@\''${EGDIR}'\'g \
	-e s\'@LOGGER@\''${LOGGER}'\'g \
	-e s\'@NSD_BINDIR@\''${NSD_BINDIR}'\'g \
	-e s\'@NSD_CONF@\''${NSD_CONF}'\'g \
	-e s\'@RCD_SCRIPTS_SHELL@\''${RCD_SCRIPTS_SHELL}'\'g \
	-e s\'@SBINDIR@\''${SBINDIR}'\'g \
	-e s\'@STATEDIR@\''${STATEDIR}'\'g

# Rules.
.PHONY: all install clean

all: fifowatchd
all: init.d/nsd-updated.sh
all: nsd-update
all: rc.d/nsd-updated.sh
all: ssh-dyndns-set-addr

install: all
	${INSTALL_DIR} ${DESTDIR}${BINDIR}
	${INSTALL_DIR} ${DESTDIR}${SBINDIR}
	${INSTALL_DIR} ${DESTDIR}${EGDIR}/init.d
	${INSTALL_DIR} ${DESTDIR}${EGDIR}/rc.d
	${INSTALL_PROGRAM} fifowatchd ${DESTDIR}${SBINDIR}
	${INSTALL_SCRIPT} nsd-update ${DESTDIR}${SBINDIR}
	${INSTALL_SCRIPT} ssh-dyndns-set-addr ${DESTDIR}${BINDIR}
	${INSTALL_SCRIPT} init.d/nsd-updated.sh ${DESTDIR}${EGDIR}/init.d
	${INSTALL_SCRIPT} rc.d/nsd-updated.sh ${DESTDIR}${EGDIR}/rc.d

clean:
	${DELETE} fifowatchd
	${DELETE} fifowatchd.o
	${DELETE} init.d/nsd-updated.sh
	${DELETE} nsd-update
	${DELETE} nsd-update.sh
	${DELETE} rc.d/nsd-updated.sh
	${DELETE} ssh-dyndns-set-addr
	${DELETE} ssh-dyndns-set-addr.sh

# Make suffix rules are too stupid for this to work.
#
# .SUFFIXES: .in
# .in:
# 	${SUBST} < $< > $@.tmp && ${RENAME} $@.tmp $@

init.d/nsd-updated.sh: $(srcdir)/init.d/nsd-updated.sh.in
	${SUBST} < $(srcdir)/init.d/nsd-updated.sh.in > $@.tmp \
	&& ${RENAME} $@.tmp $@

nsd-update.sh: $(srcdir)/nsd-update.sh.in
	${SUBST} < $(srcdir)/nsd-update.sh.in > $@.tmp \
	&& ${RENAME} $@.tmp $@

rc.d/nsd-updated.sh: $(srcdir)/rc.d/nsd-updated.sh.in
	${SUBST} < $(srcdir)/rc.d/nsd-updated.sh.in > $@.tmp \
	&& ${RENAME} $@.tmp $@

ssh-dyndns-set-addr.sh: $(srcdir)/ssh-dyndns-set-addr.sh.in
	${SUBST} < $(srcdir)/ssh-dyndns-set-addr.sh.in > $@.tmp \
	&& ${RENAME} $@.tmp $@
