## Override the following if needed
CC = gcc
OPT_CFLAGS = -O2 -Wall -Wno-unused -Wno-uninitialized
EXTRA_CFLAGS = 
EXTRA_LIBS = 
YACC = bison -y

CFLAGS = $(OPT_CFLAGS) $(EXTRA_CFLAGS) -DTCPWRAPPERS -DUSE_PAM -DAUTO_UNCOMPRESS -DINTERNAL_LS
LIBS = $(EXTRA_LIBS) -lutil -lwrap -lnsl -lcrypt -lpam -ldl
## If you prefer shadow password support, try this:
#CFLAGS = $(OPT_CFLAGS) $(EXTRA_CFLAGS) -DTCPWRAPPERS -DUSE_SHADOW -DAUTO_UNCOMPRESS -DINTERNAL_LS
#LIBS = $(EXTRA_LIBS) -lutil -lwrap -lnsl -lcrypt

## You shouldn't need to edit anything below
objects = ftpd.o popen.o logwtmp.o logutmp.o y.tab.o bsdport.o
more_objects = ls/cmp.o ls/stat_flags.o ls/ls.o ls/print.o \
  ls/util.o ls/bsdport.o

ftpd : $(objects) $(more_objects)
	$(CC) -o ftpd $(objects) $(more_objects) $(LIBS)

$(more_objects) :
	cd ls && $(MAKE)

ftpd.o : bsdport.h pathnames.h extern.h
popen.o : extern.h
logwtmp.o : extern.h
y.tab.o : extern.h
bsdport.o : bsdport.h

y.tab.c : ftpcmd.y
	$(YACC) ftpcmd.y

.PHONY : clean all
all : ftpd
clean :
	rm -f ftpd $(objects)
