
.EXPORT_ALL_VARIABLES:

EXECS = owftpd owftpd.static
OBJS = file_list.o ftp_command.o ftp_listener.o ftp_session.o oftpd.o telnet_session.o watchdog.o ftp_error.o daemon_assert.o

ifndef FUSE_DIR
FUSE_DIR := ../../../../../fuse
endif
ifndef OWFS_DIR
OWFS_DIR := ../../../..
endif

all: $(EXECS)

CFLAGS += -Wall -I${FUSE_DIR}/include -I${OWFS_DIR}/module/owlib/src/include -I../include -I${OWFS_DIR}/src/include

FUSELIBS = ${FUSE_DIR}/lib/libfuse.a
OWLIBS = ${OWFS_DIR}/module/owlib/src/c/libow.a

ifdef ENABLE_CACHE
CFLAGS += -DOW_CACHE
endif
ifdef ENABLE_MT
CFLAGS += -DOW_MT
endif

CFLAGS += -DHAVE_NEW_SS_FAMILY

$(FUSELIBS):
	cd ${FUSE_DIR} ; make

$(OWLIBS):
	cd ${OWFS_DIR}/module/owlib ; make

owftpd: $(OBJS) $(FUSELIBS) $(OWLIBS)
	$(CC) $(LDFLAGS) -o $@ $(OBJS) $(FUSELIBS) $(OWLIBS) $(LDLIBS) $(LIBPTHREAD)

owftpd.static: $(OBJS) $(FUSELIBS) $(OWLIBS)
	$(CC) $(LDFLAGS) -o $@ $(OBJS) $(FUSELIBS) $(OWLIBS) $(LDLIBS) $(LIBPTHREAD) -static

romfs:
	$(ROMFSINST) /usr/bin/owftpd

install:
	install -d $(INSTALLDIR)/usr/bin
	install owftpd $(INSTALLDIR)/usr/bin/owftpd
	install owftpd.static $(INSTALLDIR)/usr/bin/owftpd.static

clean:
	rm -f $(EXECS) *.gdb *.elf *.o *.s *.i

