CFLAGS= -O6 -s  -I. -Isupport -DSETPROCTITLE -DNBBY=8 -DLOG_DAEMON -DSHADOWPWD
CC=gcc -w
LIBC=-lshadow #-lnet
YACC=bison -y
MISSINGOBJS= fnmatch.o strcasestr.o ftw.o

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

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

all: ftpd ftpcount mkgroup

check-headers:
	@if [ `uname -s` = "Linux" -o `uname -s` = "Linux/PRO" ]; then ./check-h; fi

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

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

ftpd: ${OBJS} ${LIBC} 
	${CC} ${CFLAGS} -o ftpd ${OBJS} -L . ${LIBC}

mkgroup: mkgroup.o
	${CC} ${CFLAGS} -o $@ $@.c -L . ${LIBC}

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

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

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

install: ${MAN} ftpd ftpcount
	-mv -f ${ETCDIR}/in.ftpd ${ETCDIR}/in.ftpd-old
	install -c -s -o bin -g bin -m 755 ftpd ${ETCDIR}/in.ftpd
	install -c -s -o bin -g bin -m 755 ftpcount ${ETCDIR}/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/lib/gcc-lib/i486-linux/2.4.5/include/limits.h \
  /usr/lib/gcc-lib/i486-linux/2.4.5/include/syslimits.h /usr/include/limits.h \
  /usr/include/features.h /usr/include/sys/cdefs.h /usr/include/posix1_lim.h /usr/include/linux/limits.h \
  /usr/include/posix2_lim.h /usr/include/linux/param.h /usr/include/sys/stat.h \
  /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/linux/stat.h \
  /usr/include/sys/ioctl.h /usr/include/linux/ioctl.h /usr/include/termios.h /usr/include/linux/termios.h \
  /usr/include/sys/socket.h /usr/include/linux/socket.h /usr/include/linux/sockios.h \
  /usr/include/sys/file.h /usr/include/fcntl.h /usr/include/linux/fcntl.h /usr/include/sys/wait.h \
  /usr/include/gnu/types.h /usr/include/waitflags.h /usr/include/waitstatus.h \
  /usr/include/endian.h /usr/include/bytesex.h /usr/include/sys/dir.h /usr/include/dirent.h \
  /usr/lib/gcc-lib/i486-linux/2.4.5/include/stddef.h /usr/include/linux/dirent.h \
  /usr/include/sys/utsname.h /usr/include/netinet/in.h /usr/include/linux/in.h \
  /usr/include/netinet/in_systm.h /usr/include/linux/in_systm.h /usr/include/netinet/ip.h \
  /usr/include/linux/ip.h support/ftp.h /usr/include/arpa/inet.h /usr/include/arpa/telnet.h \
  /usr/include/ctype.h /usr/include/stdio.h /usr/include/_G_config.h /usr/include/signal.h \
  /usr/include/linux/signal.h /usr/include/pwd.h /usr/include/shadow.h /usr/include/grp.h \
  /usr/include/setjmp.h /usr/include/jmp_buf.h /usr/include/netdb.h support/paths.h \
  /usr/include/malloc.h /usr/include/errno.h /usr/include/linux/errno.h /usr/include/string.h \
  /usr/include/syslog.h /usr/include/sys/syslog.h /usr/lib/gcc-lib/i486-linux/2.4.5/include/stdarg.h \
  /usr/include/time.h /usr/lib/gcc-lib/i486-linux/2.4.5/include/varargs.h pathnames.h \
  extensions.h conversions.h 
ftpcmd.o : ftpcmd.c /usr/include/sys/param.h /usr/lib/gcc-lib/i486-linux/2.4.5/include/limits.h \
  /usr/lib/gcc-lib/i486-linux/2.4.5/include/syslimits.h /usr/include/limits.h \
  /usr/include/features.h /usr/include/sys/cdefs.h /usr/include/posix1_lim.h /usr/include/linux/limits.h \
  /usr/include/posix2_lim.h /usr/include/linux/param.h /usr/include/sys/socket.h \
  /usr/include/linux/socket.h /usr/include/linux/sockios.h /usr/include/netinet/in.h \
  /usr/include/linux/in.h /usr/include/arpa/ftp.h /usr/include/stdio.h /usr/include/_G_config.h \
  /usr/include/signal.h /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/linux/signal.h \
  /usr/include/ctype.h /usr/include/pwd.h /usr/include/gnu/types.h /usr/include/shadow.h \
  /usr/include/grp.h /usr/lib/gcc-lib/i486-linux/2.4.5/include/stddef.h /usr/include/setjmp.h \
  /usr/include/jmp_buf.h /usr/include/syslog.h /usr/include/sys/syslog.h /usr/lib/gcc-lib/i486-linux/2.4.5/include/stdarg.h \
  /usr/include/sys/stat.h /usr/include/linux/stat.h /usr/include/time.h /usr/include/string.h \
  support/ftw.h support/paths.h /usr/include/malloc.h /usr/include/arpa/telnet.h 
glob.o : glob.c /usr/include/sys/param.h /usr/lib/gcc-lib/i486-linux/2.4.5/include/limits.h \
  /usr/lib/gcc-lib/i486-linux/2.4.5/include/syslimits.h /usr/include/limits.h \
  /usr/include/features.h /usr/include/sys/cdefs.h /usr/include/posix1_lim.h /usr/include/linux/limits.h \
  /usr/include/posix2_lim.h /usr/include/linux/param.h /usr/include/sys/stat.h \
  /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/linux/stat.h \
  /usr/include/sys/dir.h /usr/include/dirent.h /usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.4.5/include/stddef.h \
  /usr/include/linux/dirent.h /usr/include/stdio.h /usr/include/_G_config.h /usr/include/shadow.h \
  /usr/include/pwd.h /usr/include/grp.h 
logwtmp.o : logwtmp.c /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/sys/file.h \
  /usr/include/features.h /usr/include/sys/cdefs.h /usr/include/fcntl.h /usr/include/linux/fcntl.h \
  /usr/include/sys/time.h /usr/include/linux/time.h /usr/include/time.h /usr/include/sys/stat.h \
  /usr/include/linux/stat.h /usr/include/utmp.h pathnames.h support/paths.h 
popen.o : popen.c /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/sys/signal.h \
  /usr/include/signal.h /usr/include/features.h /usr/include/sys/cdefs.h /usr/include/linux/signal.h \
  /usr/include/sys/wait.h /usr/include/gnu/types.h /usr/include/waitflags.h /usr/include/waitstatus.h \
  /usr/include/endian.h /usr/include/bytesex.h /usr/include/stdio.h /usr/include/_G_config.h 
access.o : access.c /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
  /usr/include/_G_config.h /usr/include/errno.h /usr/include/linux/errno.h /usr/include/malloc.h \
  /usr/lib/gcc-lib/i486-linux/2.4.5/include/stddef.h /usr/include/string.h /usr/include/syslog.h \
  /usr/include/sys/syslog.h /usr/lib/gcc-lib/i486-linux/2.4.5/include/stdarg.h \
  /usr/include/time.h /usr/include/ctype.h /usr/include/sys/types.h /usr/include/linux/types.h \
  /usr/include/sys/stat.h /usr/include/linux/stat.h /usr/include/sys/file.h /usr/include/fcntl.h \
  /usr/include/linux/fcntl.h /usr/include/sys/param.h /usr/lib/gcc-lib/i486-linux/2.4.5/include/limits.h \
  /usr/lib/gcc-lib/i486-linux/2.4.5/include/syslimits.h /usr/include/limits.h \
  /usr/include/posix1_lim.h /usr/include/linux/limits.h /usr/include/posix2_lim.h \
  /usr/include/linux/param.h /usr/include/pwd.h /usr/include/gnu/types.h /usr/include/shadow.h \
  /usr/include/grp.h pathnames.h support/paths.h extensions.h 
extensions.o : extensions.c /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
  /usr/include/_G_config.h /usr/include/errno.h /usr/include/linux/errno.h /usr/include/malloc.h \
  /usr/lib/gcc-lib/i486-linux/2.4.5/include/stddef.h /usr/include/string.h /usr/include/syslog.h \
  /usr/include/sys/syslog.h /usr/lib/gcc-lib/i486-linux/2.4.5/include/stdarg.h \
  /usr/include/time.h /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/sys/stat.h \
  /usr/include/linux/stat.h /usr/include/sys/file.h /usr/include/fcntl.h /usr/include/linux/fcntl.h \
  /usr/include/sys/param.h /usr/lib/gcc-lib/i486-linux/2.4.5/include/limits.h \
  /usr/lib/gcc-lib/i486-linux/2.4.5/include/syslimits.h /usr/include/limits.h \
  /usr/include/posix1_lim.h /usr/include/linux/limits.h /usr/include/posix2_lim.h \
  /usr/include/linux/param.h /usr/include/pwd.h /usr/include/gnu/types.h /usr/include/shadow.h \
  /usr/include/grp.h support/ftp.h pathnames.h support/paths.h extensions.h support/ftw.h 
realpath.o : realpath.c /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
  /usr/include/_G_config.h /usr/include/sys/types.h /usr/include/linux/types.h \
  /usr/include/sys/stat.h /usr/include/linux/stat.h /usr/include/sys/param.h /usr/lib/gcc-lib/i486-linux/2.4.5/include/limits.h \
  /usr/lib/gcc-lib/i486-linux/2.4.5/include/syslimits.h /usr/include/limits.h \
  /usr/include/posix1_lim.h /usr/include/linux/limits.h /usr/include/posix2_lim.h \
  /usr/include/linux/param.h /usr/include/strings.h /usr/include/string.h /usr/lib/gcc-lib/i486-linux/2.4.5/include/stddef.h 
acl.o : acl.c /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
  /usr/include/_G_config.h /usr/include/errno.h /usr/include/linux/errno.h /usr/include/malloc.h \
  /usr/lib/gcc-lib/i486-linux/2.4.5/include/stddef.h /usr/include/string.h /usr/include/syslog.h \
  /usr/include/sys/syslog.h /usr/lib/gcc-lib/i486-linux/2.4.5/include/stdarg.h \
  /usr/include/stdlib.h /usr/lib/gcc-lib/i486-linux/2.4.5/include/float.h /usr/include/alloca.h \
  /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/sys/stat.h \
  /usr/include/linux/stat.h /usr/include/sys/file.h /usr/include/fcntl.h /usr/include/linux/fcntl.h \
  pathnames.h support/paths.h extensions.h 
private.o : private.c /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
  /usr/include/_G_config.h /usr/include/errno.h /usr/include/linux/errno.h /usr/include/malloc.h \
  /usr/lib/gcc-lib/i486-linux/2.4.5/include/stddef.h /usr/include/string.h /usr/include/syslog.h \
  /usr/include/sys/syslog.h /usr/lib/gcc-lib/i486-linux/2.4.5/include/stdarg.h \
  /usr/include/stdlib.h /usr/lib/gcc-lib/i486-linux/2.4.5/include/float.h /usr/include/alloca.h \
  /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/sys/stat.h \
  /usr/include/linux/stat.h /usr/include/sys/file.h /usr/include/fcntl.h /usr/include/linux/fcntl.h \
  /usr/include/grp.h /usr/include/gnu/types.h /usr/include/shadow.h /usr/include/pwd.h \
  pathnames.h support/paths.h extensions.h 
authenticate.o : authenticate.c /usr/include/stdio.h /usr/include/features.h \
  /usr/include/sys/cdefs.h /usr/include/_G_config.h /usr/include/string.h /usr/lib/gcc-lib/i486-linux/2.4.5/include/stddef.h \
  support/authuser.h authenticate.h 
free.o : free.c /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
  /usr/include/_G_config.h /usr/include/sys/types.h /usr/include/linux/types.h \
  /usr/include/sys/vfs.h /usr/include/linux/vfs.h 

# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
