# Linux specific defines, passed to subdirectories.
#DEFS= -DNEED_QUOTACTL_WRAPPER -DSENDFILE_FLAVOR_LINUX
DEFS= -DNEED_QUOTACTL_WRAPPER
OPTOPTS=	-O2 -fomit-frame-pointer -fsigned-char -Wunused -Wuninitialized
#OPTOPTS=	-g -fsigned-char
CC=	gcc 
INSTALL=	install 
# if you aren't using pam and are using glibc, you'll need to add -lcrypt
# if you're using libc5, you'll need to take out the -lrpcsvc
AFPLIBS=-lrpcsvc
ADDLIBS=

ALL=	../../libatalk ../../include ../../bin ../../etc ../../man

oops:
	@echo "Read README again.  Don't type 'make' here."
	@exit 1

all:	${ALL}

../../bin ../../etc:	../../libatalk

${ALL}:	FRC
	cd $@; ${MAKE} ${MFLAGS} CC="${CC}" \
	    ADDLIBS="${ADDLIBS}" DEFS="${DEFS}" OPTOPTS="${OPTOPTS}" \
	    SBINDIR="${SBINDIR}" BINDIR="${BINDIR}" RESDIR="${RESDIR}" \
	    ETCDIR="${ETCDIR}" LIBDIR="${LIBDIR}" INCDIR="${INCDIR}" \
	    DESTDIR="${DESTDIR}" AFSDIR="${AFSDIR}" KRBDIR="${KRBDIR}" \
	    AFPLIBS="${AFPLIBS}" all

FRC:

${ETCDIR}:
	-mkdir ${ETCDIR}

install-sysv:
	-if [ -f /etc/rc.d/init.d/atalk ]; then \
		echo "Retaining old /etc/rc.d/init.d/atalk file."; \
	else if [ -d /etc/rc.d/init.d ]; then \
	sed -e s@:DESTDIR:@${DESTDIR}@ -e s@:SBINDIR:@${SBINDIR}@ \
		-e s@:BINDIR:@${BINDIR}@ -e s@:RESDIR:@${RESDIR}@ \
		-e s@:ETCDIR:@${ETCDIR}@ -e s@:LIBDIR:@${LIBDIR}@ \
		-e s@:INCDIR:@${INCDIR}@ \
		< ../../rc.atalk.redhat > /etc/rc.d/init.d/atalk.init; \
	sed -e s@:RCDIR:@/etc/rc.d/init.d@ \
		< ../../rc.atalk.wrapper > /etc/rc.d/init.d/atalk; \
	chmod 744 /etc/rc.d/init.d/atalk /etc/rc.d/init.d/atalk.init; \
	ln -s ../init.d/atalk /etc/rc.d/rc2.d/S79atalk; \
	ln -s ../init.d/atalk /etc/rc.d/rc3.d/S79atalk; \
	ln -s ../init.d/atalk /etc/rc.d/rc5.d/S79atalk; \
	ln -s ../init.d/atalk /etc/rc.d/rc0.d/K79atalk; \
	ln -s ../init.d/atalk /etc/rc.d/rc1.d/K79atalk; \
	ln -s ../init.d/atalk /etc/rc.d/rc6.d/K79atalk; \
	fi \
	fi

install-bsd:
	-if [ -f ${ETCDIR}/rc.atalk ]; then \
		echo "Retaining old rc.atalk file."; \
	else if [ ! -d /etc/rc.d/init.d ]; then \
	sed -e s@:DESTDIR:@${DESTDIR}@ -e s@:SBINDIR:@${SBINDIR}@ \
		-e s@:BINDIR:@${BINDIR}@ -e s@:RESDIR:@${RESDIR}@ \
		-e s@:ETCDIR:@${ETCDIR}@ -e s@:LIBDIR:@${LIBDIR}@ \
		-e s@:INCDIR:@${INCDIR}@ \
		< ../../rc.atalk.bsd > ${ETCDIR}/rc.atalk; \
	fi \
	fi

install : ${ETCDIR} install-sysv install-bsd
	-mkdir ${DESTDIR} ${SBINDIR} ${BINDIR} ${LIBDIR}
	for i in ${ALL}; \
	    do (cd $$i; ${MAKE} ${MFLAGS} CC="${CC}" \
		ADDLIBS="${ADDLIBS}" DEFS="${DEFS}" OPTOPTS="${OPTOPTS}" \
	        SBINDIR="${SBINDIR}" BINDIR="${BINDIR}" RESDIR="${RESDIR}" \
	        ETCDIR="${ETCDIR}" LIBDIR="${LIBDIR}" INCDIR="${INCDIR}" \
		AFSDIR="${AFSDIR}" KRBDIR="${KRBDIR}" AFPLIBS="${AFPLIBS}" \
		INSTALL="${INSTALL}" $@); \
	done
	if [ -d /etc/pam.d -a ! -f /etc/pam.d/netatalk ]; then \
	   	${INSTALL} ../../config/netatalk.pamd /etc/pam.d/netatalk; \
		echo "PAM netatalk file installed."; \
	fi 
	@echo
	@echo "Install is done.  Don't forget to add lines from"
	@echo "services.atalk to /etc/services."
	if [ ! -d /etc/rc.d/init.d ]; then \
		echo "Don't forget to call rc.atalk in /etc/rc."; \
	fi
	@echo "See README and README.LINUX for more information."


clean :
	for i in ${ALL}; \
	    do (cd $$i; ${MAKE} ${MFLAGS} clean); \
	done

depend :
	for i in ${ALL}; \
	    do (cd $$i; ${MAKE} ${MFLAGS} DEFS=${DEFS} depend); \
	done

# DO NOT DELETE THIS LINE

