CC      = gcc
BASEDIR = .
SRCDIR  = ${BASEDIR}/src
OBJDIR  = ${BASEDIR}/obj
BINDIR  = ${BASEDIR}/bin
INCDIR  = ${BASEDIR}/include
MANDIR  = ${BASEDIR}/man
CFLAGS  = -Wall -I${INCDIR}

OBJS    = ${OBJDIR}/main.o ${OBJDIR}/conf.o ${OBJDIR}/net.o ${OBJDIR}/signal.o\
	${OBJDIR}/register.o ${OBJDIR}/util.o ${OBJDIR}/udp_com.o
SRC     = ${SRCDIR}/main.c ${SRCDIR}/conf.c ${SRCDIR}/net.c ${SRCDIR}/signal.c\
	${SRCDIR}/register.c ${SRCDIR}/util.c ${SRCDIR}/udp_com.c

tipxd: dirs ${OBJS}
	${CC} -o ${BINDIR}/tipxd ${OBJS}

${OBJDIR}/main.o:${SRCDIR}/main.c
	${CC} -c ${CFLAGS} -o ${OBJDIR}/main.o ${SRCDIR}/main.c

${OBJDIR}/conf.o:${SRCDIR}/conf.c
	${CC} -c ${CFLAGS} -o ${OBJDIR}/conf.o ${SRCDIR}/conf.c

${OBJDIR}/net.o:${SRCDIR}/net.c
	${CC} -c ${CFLAGS} -o ${OBJDIR}/net.o ${SRCDIR}/net.c

${OBJDIR}/signal.o:${SRCDIR}/signal.c
	${CC} -c ${CFLAGS} -o ${OBJDIR}/signal.o ${SRCDIR}/signal.c

${OBJDIR}/register.o:${SRCDIR}/register.c
	${CC} -c ${CFLAGS} -o ${OBJDIR}/register.o ${SRCDIR}/register.c

${OBJDIR}/util.o:${SRCDIR}/util.c
	${CC} -c ${CFLAGS} -o ${OBJDIR}/util.o ${SRCDIR}/util.c

${OBJDIR}/udp_com.o:${SRCDIR}/udp_com.c
	${CC} -c ${CFLAGS} -o ${OBJDIR}/udp_com.o ${SRCDIR}/udp_com.c

dirs:
	mkdir ${OBJDIR}
	mkdir ${BINDIR}


clean:
	rm -rf ${BINDIR} ${OBJDIR} ${MANDIR}/*.*~ ${SRCDIR}/*.c~ ${SRCDIR}/*.h~ ${INCDIR}/*.h~

