#################################################
##              In the name of GOD
##
## Copyright (C) 2009-2012 Behnam Momeni.
## All rights reserved.
##
## This file is part of the Partov project.
##
#################################################

COMPILER = g++
FLAGS = -Wall -g -Ibase -Iuser
LIBS = -lpthread

ROUTER_TARGET = router.out
TARGETS = ${ROUTER_TARGET}

BASE_SOURCES = base/main.cpp \
	base/cf.cpp \
	base/interface.cpp \
	base/machine.cpp \
	base/frame.cpp

#########
######### DO NOT ADD .h FILES HERE!!
######### ONLY .c AND .cpp FILES ARE ALLOWED!
#########

COMMON_SOURCES = user/common.cpp \

ROUTER_SOURCES = user/router.cpp


BASE_OBJ = ${BASE_SOURCES:.cpp=.o}
BASE_OBJECTS = ${BASE_OBJ:.c=.o}

COMMON_OBJ = ${COMMON_SOURCES:.cpp=.o}
COMMON_OBJECTS = ${COMMON_OBJ:.c=.o}

ROUTER_OBJ = ${ROUTER_SOURCES:.cpp=.o}
ROUTER_OBJECTS = ${ROUTER_OBJ:.c=.o}

OBJECTS = ${BASE_OBJECTS} ${COMMON_OBJECTS} ${ROUTER_OBJECTS}

all: ${TARGETS}

${ROUTER_TARGET}: ${ROUTER_OBJECTS} ${BASE_OBJECTS} ${COMMON_OBJECTS}
	${COMPILER} ${FLAGS} -o ${ROUTER_TARGET} ${ROUTER_OBJECTS} ${BASE_OBJECTS} ${COMMON_OBJECTS} ${LIBS}

clean:
	rm -f ${OBJECTS} ${TARGETS} *~ base/*~ user/*~

.cpp.o:
	${COMPILER} ${FLAGS} -c $< -o $@
.c.o:
	${COMPILER} ${FLAGS} -c $< -o $@

