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

DESTDIR?=/
BINDIR=${DESTDIR}${PREFIX}/bin
MANDIR=${DESTDIR}${PREFIX}/man/man1/
INCDIR=${DESTDIR}${PREFIX}/include
LIBDIR=${DESTDIR}${PREFIX}/lib
DATADIR=${DESTDIR}${PREFIX}/share/prospero/
ETCDIR=${DESTDIR}${PREFIX}/etc/

INSTALL_PROGRAM?=/usr/bin/install -c -s -m550 -o root -g www
INSTALL_SCRIPT?=/usr/bin/install -c -m550 -o root -g www
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=4.107

CFLAGS= -DETCDIR=\"${ETCDIR}\" -Wall -DVERSION=\"${VERSION}\"

IFLAGS= 
LFLAGS= -lcrypto -lssl 

.PHONY: all
all: prospero prospero_server

prospero_server: prospero.c
	${CC} ${CFLAGS} -o prospero_server prospero.c ${IFLAGS} ${LFLAGS}

prospero: wrapper.c
	${SED} -e 's|%%PREFIX%%|${PREFIX}|g' wrapper.c > wrapper_final.c
	${CC} ${CFLAGS} -o prospero wrapper_final.c

.PHONY: start
start:
	service prospero onerestart

.PHONY: stop
stop:
	service prospero onestop

.PHONY: install
install: all
	${INSTALL_PROGRAM} prospero prospero_server ${BINDIR}

	${SED} -e 's|%%PREFIX%%|${PREFIX}|g' prospero.rcfile > prospero.rc
	${INSTALL_SCRIPT} prospero.rc ${ETCDIR}/rc.d/prospero

	${CP} prospero.man prospero.1
	${GZIP_CMD} -f prospero.1
	${INSTALL_MAN} prospero.1.gz ${MANDIR}

	${MKDIR} ${DATADIR}
	${CP} content-types.txt ${DATADIR}
	${CHMOD} 440 ${DATADIR}/content-types.txt

.PHONY: install-tmpfs
install-tmpfs: 
	${INSTALL_SCRIPT} tmpfs.sh ${BINDIR}

.PHONY: deinstall
deinstall:
	${RM} ${BINDIR}/prospero* ${BINDIR}/tmpfs.sh
	${RM} -r ${DATADIR}
	${RM} ${MANDIR}/prospero*
	${RM} ${ETCDIR}/rc.d/prospero*

.PHONY: debug
debug:
	${CC} ${CFLAGS} -ggdb -O0 -o prospero prospero.c ${IFLAGS} ${LFLAGS}

.PHONY: clean
clean:
	rm -f wrapper_final.c prospero prospero_server *.core *.rc *.gz *.o *tmp *.backup
