CC	= g++
CFLAGS	= -Wall -W -fno-rtti -I../../hpp -I../../src -O3
CDEFS	= -DUNIX
LFLAGS	= -s -L${SRCDIR}smapi -lsmapibsd
SRCDIR	= ../../src/
#CONFIG	= /etc/ftn/ftrack.cfg

# uncomment to enable
#ENABLE_SCRIPTS=1
#ENABLE_LOG_PID=1
#ENABLE_SYSLOG_LOG_FORMAT=1

ifeq (${ENABLE_SCRIPTS},1)
    CFLAGS += `perl -MExtUtils::Embed -e ccopts`
    LFLAGS += `perl -MExtUtils::Embed -e ldopts`    
else
    CDEFS  += -D__NOSCRIPTS__
endif

ifeq (${ENABLE_SYSLOG_LOG_FORMAT}, 1)
    CFLAGS += -DSYSLOG_LOG_FORMAT
endif

ifeq (${ENABLE_LOG_PID}, 1)
    CFLAGS += -DLOG_SHOW_PID
endif

ifdef CONFIG
    CDEFS += -DDefaultConfig=\"${CONFIG}\"
endif

all: ftrack

OBJS=	fidoaddr.o \
	log.o \
	age.o \
	aka.o \
	attach.o \
	badmsg.o \
	cfg.o \
	configure.o \
	ftrack.o \
	getopt.o \
	help.o \
	msg.o \
	msgbase.o \
	nodelist.o \
	vars.o \
	outbound.o \
	parsetpl.o \
	passwd.o \
	pktbase.o \
	scandir.o \
	sqbase.o \
	tmstamp.o \
	utils.o \
	mask.o \
	script.o \
	wildmat.o \
	badpkt.o \
	ustr.o

%.o: ${SRCDIR}%.c
	${CC} ${CFLAGS} ${CDEFS} -c $<

%.o: ${SRCDIR}%.cpp
	${CC} ${CFLAGS} ${CDEFS} -c $<

${SRCDIR}cfg.cpp: ${SRCDIR}cfg.y
	bison -l -d $< -o ${SRCDIR}cfg.cpp

# Thunderbirds are go!
smapi:
	cd  ${SRCDIR}smapi && make -f makefile.bsd

ftrack: smapi ${OBJS}
	${CC} -o ftrack ${OBJS} ${LFLAGS}

clean:
	-rm -f ${SRCDIR}smapi/*.o 
	-rm -f ${SRCDIR}smapi/*.a
	-rm -f *.o
	-rm -f *~
	-rm -f core
	-rm -f ftrack
