CFLAGS=	-g -DSETPROCTITLE -DDEBUG
CC=cc
LIBC=	

MISSINGOBJS=	getusershell.o fnmatch.o strcasestr.o strerror.o strsep.o \
				getgrent.o authuser.o ftw.o

SRCS=	ftpd.c ftpcmd.c glob.c logwtmp.c popen.c vers.c access.c extensions.c \
		realpath.c acl.c private.c authenticate.c
OBJS=	ftpd.o ftpcmd.o glob.o logwtmp.o popen.o vers.o access.o extensions.o \
		realpath.o acl.o private.o authenticate.o ${MISSINGOBJS}
MAN=	ftpd.8

BINDIR=		/usr/local/ftp/bin
ETCDIR=		/usr/local/ftp/etc
MANDIR=		/usr/local/ftp/man
MANEXT=		8
LINTFLAGS=	

all: ftpd ftpcount Makefile

${MISSINGOBJS}:
	( cd support; make ${MISSINGOBJS} )

ftpcount:	ftpcount.c pathnames.h ${MISSINGOBJS}
	${CC} ${CFLAGS} ftpcount.c ${MISSINGOBJS} -o ftpcount

ftpd: ${OBJS} ${LIBC}
	${CC} ${CFLAGS} -o $@ ${OBJS}

vers.o: ftpd.c ftpcmd.y
	sh newvers.sh
	${CC} ${CFLAGS} -c vers.c

clean:
	rm -f ${OBJS} ftpd core ftpcmd.c ftpcount ftpcount.o
	(cd support; make clean)

cleandir: clean
	rm -f ${MAN} tags .depend

depend: ${SRCS}
	support/mkdep ${CFLAGS} ${SRCS}

install: ${MAN} ftpd ftpcount
	-mv -f ${ETCDIR}/ftpd ${ETCDIR}/ftpd-old
	install -c -s -o bin -g bin -m 755 ftpd ${ETCDIR}/ftpd
	install -c -s -o bin -g bin -m 755 ftpcount ${BINDIR}/ftpcount
	install -c -o bin -g bin -m 755 ftpd.8 ${MANDIR}/man${MANEXT}/ftpd.${MANEXT}

lint: ${SRCS}
	lint ${CFLAGS} ${LINTFLAGS} ${SRCS}

tags: ${SRCS}
	ctags ${SRCS}

FRC:	

# DO NOT DELETE THIS LINE -- mkdep uses it.
# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.

ftpd.o : ftpd.c /usr/include/sys/param.h /usr/include/sys/features.h \
  /usr/include/machine/machparam.h /usr/include/kern/assert.h \
  /usr/include/next/vm_param.h /usr/include/sys/types.h \
  /usr/include/next/eventc.h /usr/include/sys/signal.h \
  /usr/include/machine/signal.h /usr/include/stddef.h /usr/include/sys/stat.h \
  /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h \
  /usr/include/sys/ttydev.h /usr/include/sys/socket.h /usr/include/sys/file.h \
  /usr/include/sys/fcntl.h /usr/include/sys/wait.h \
  /usr/include/sys/resource.h /usr/include/sys/time.h /usr/include/time.h \
  /usr/include/sys/dir.h /usr/include/netinet/in.h \
  /usr/include/netinet/in_systm.h /usr/include/netinet/ip.h \
  /usr/include/arpa/ftp.h /usr/include/arpa/inet.h /usr/include/arpa/telnet.h \
  /usr/include/ctype.h /usr/include/stdio.h /usr/include/stdarg.h \
  /usr/include/signal.h /usr/include/pwd.h /usr/include/setjmp.h \
  /usr/include/netdb.h /usr/include/stdlib.h /usr/include/errno.h \
  /usr/include/sys/errno.h /usr/include/string.h /usr/include/syslog.h \
  /usr/include/sys/syslog.h /usr/include/varargs.h pathnames.h \
  support/paths.h extensions.h conversions.h 
ftpcmd.o : ftpcmd.c /usr/include/sys/param.h /usr/include/sys/features.h \
  /usr/include/machine/machparam.h /usr/include/kern/assert.h \
  /usr/include/next/vm_param.h /usr/include/sys/types.h \
  /usr/include/next/eventc.h /usr/include/sys/signal.h \
  /usr/include/machine/signal.h /usr/include/stddef.h \
  /usr/include/sys/socket.h /usr/include/netinet/in.h /usr/include/arpa/ftp.h \
  /usr/include/stdio.h /usr/include/stdarg.h /usr/include/signal.h \
  /usr/include/ctype.h /usr/include/pwd.h /usr/include/setjmp.h \
  /usr/include/syslog.h /usr/include/sys/syslog.h /usr/include/sys/stat.h \
  /usr/include/time.h /usr/include/string.h support/ftw.h \
  /usr/include/arpa/telnet.h 
glob.o : glob.c /usr/include/sys/param.h /usr/include/sys/features.h \
  /usr/include/machine/machparam.h /usr/include/kern/assert.h \
  /usr/include/next/vm_param.h /usr/include/sys/types.h \
  /usr/include/next/eventc.h /usr/include/sys/signal.h \
  /usr/include/machine/signal.h /usr/include/stddef.h /usr/include/sys/stat.h \
  /usr/include/sys/dir.h /usr/include/stdio.h /usr/include/stdarg.h \
  /usr/include/errno.h /usr/include/sys/errno.h /usr/include/pwd.h \
  extensions.h 
logwtmp.o : logwtmp.c /usr/include/sys/types.h /usr/include/sys/file.h \
  /usr/include/sys/fcntl.h /usr/include/sys/time.h /usr/include/time.h \
  /usr/include/stddef.h /usr/include/sys/stat.h /usr/include/utmp.h \
  pathnames.h support/paths.h 
popen.o : popen.c /usr/include/sys/types.h /usr/include/sys/signal.h \
  /usr/include/machine/signal.h /usr/include/sys/wait.h \
  /usr/include/sys/resource.h /usr/include/sys/time.h /usr/include/time.h \
  /usr/include/stddef.h /usr/include/sys/syslog.h /usr/include/stdio.h \
  /usr/include/stdarg.h 
vers.o : vers.c 
access.o : access.c /usr/include/stdio.h /usr/include/stddef.h \
  /usr/include/stdarg.h /usr/include/errno.h /usr/include/sys/errno.h \
  /usr/include/stdlib.h /usr/include/string.h /usr/include/syslog.h \
  /usr/include/sys/syslog.h /usr/include/time.h /usr/include/ctype.h \
  /usr/include/pwd.h /usr/include/grp.h /usr/include/sys/types.h \
  /usr/include/sys/stat.h /usr/include/sys/file.h /usr/include/sys/fcntl.h \
  /usr/include/sys/param.h /usr/include/sys/features.h \
  /usr/include/machine/machparam.h /usr/include/kern/assert.h \
  /usr/include/next/vm_param.h /usr/include/next/eventc.h \
  /usr/include/sys/signal.h /usr/include/machine/signal.h pathnames.h \
  support/paths.h extensions.h 
extensions.o : extensions.c /usr/include/stdio.h /usr/include/stddef.h \
  /usr/include/stdarg.h /usr/include/errno.h /usr/include/sys/errno.h \
  /usr/include/stdlib.h /usr/include/string.h /usr/include/syslog.h \
  /usr/include/sys/syslog.h /usr/include/time.h /usr/include/pwd.h \
  /usr/include/sys/types.h /usr/include/sys/stat.h /usr/include/sys/file.h \
  /usr/include/sys/fcntl.h /usr/include/sys/param.h \
  /usr/include/sys/features.h /usr/include/machine/machparam.h \
  /usr/include/kern/assert.h /usr/include/next/vm_param.h \
  /usr/include/next/eventc.h /usr/include/sys/signal.h \
  /usr/include/machine/signal.h /usr/include/arpa/ftp.h pathnames.h \
  support/paths.h extensions.h support/ftw.h 
realpath.o : realpath.c /usr/include/stdio.h /usr/include/stddef.h \
  /usr/include/stdarg.h /usr/include/sys/types.h /usr/include/sys/stat.h \
  /usr/include/sys/param.h /usr/include/sys/features.h \
  /usr/include/machine/machparam.h /usr/include/kern/assert.h \
  /usr/include/next/vm_param.h /usr/include/next/eventc.h \
  /usr/include/sys/signal.h /usr/include/machine/signal.h \
  /usr/include/strings.h /usr/include/string.h 
acl.o : acl.c /usr/include/stdio.h /usr/include/stddef.h \
  /usr/include/stdarg.h /usr/include/errno.h /usr/include/sys/errno.h \
  /usr/include/string.h /usr/include/syslog.h /usr/include/sys/syslog.h \
  /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/sys/stat.h \
  /usr/include/sys/file.h /usr/include/sys/fcntl.h pathnames.h \
  support/paths.h extensions.h 
private.o : private.c /usr/include/stdio.h /usr/include/stddef.h \
  /usr/include/stdarg.h /usr/include/errno.h /usr/include/sys/errno.h \
  /usr/include/string.h /usr/include/syslog.h /usr/include/sys/syslog.h \
  /usr/include/stdlib.h /usr/include/grp.h /usr/include/sys/types.h \
  /usr/include/sys/stat.h /usr/include/sys/file.h /usr/include/sys/fcntl.h \
  pathnames.h support/paths.h extensions.h 
authenticate.o : authenticate.c /usr/include/stdio.h /usr/include/stddef.h \
  /usr/include/stdarg.h /usr/include/string.h support/authuser.h \
  authenticate.h 

# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
