####### Compiler, tools and options

CC       = gcc
CXX      = g++
LEX      = flex
YACC     = yacc
COM_OPTS = -pipe -Wall -Wno-unused -Wno-deprecated -g -DDEBUG
#COM_OPTS = -pipe -Wall -Wno-unused -Wno-deprecated -O3
CFLAGS   = $(COM_OPTS)
CXXFLAGS = $(COM_OPTS) -Wno-reorder 
LEXFLAGS = 
YACCFLAGS= -d
INCPATH  = -I boost -include ../../framework/magic.h -I../../
LINK     = g++
LFLAGS   = 
LIBS     = $(SUBLIBS) -lm ../../routing/libmercury.a ../../framework/libframework.a ../../framework2/libframework2.a -lpthread
AR       = ar cqs
RANLIB   = 
TAR      = tar -cf
GZIP     = gzip -9f
COPY     = cp -f
COPY_FILE= $(COPY) -p
COPY_DIR = $(COPY) -pR
DEL_FILE = rm -f
SYMLINK  = ln -sf
DEL_DIR  = rmdir
MOVE     = mv -f
CHK_DIR_EXISTS= test -d
MKDIR    = mkdir -p

####### Output directory

OBJECTS_DIR = ./

####### Files

SOURCES = $(wildcard *.cpp)
OBJECTS = $(patsubst %.cpp,.%.o,$(SOURCES))
FORMS = 
UICDECLS = 
UICIMPLS = 
DESTDIR  = 
TARGET   = opsim

.PHONY: copy

first: all
####### Implicit rules

.%.o: %.cpp
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.%.o: %.cc
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

####### Build rules

all: $(TARGET)

doc:
	doxygen doxygen.config

copy:
	cp $(TARGET) build/

$(TARGET): $(UICDECLS) $(OBJECTS)
	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS)

mocables: $(SRCMOC)

yaccclean:
lexclean:
clean:
	-$(DEL_FILE) $(OBJECTS) 
	-$(DEL_FILE) $(TARGET)
	-$(DEL_FILE) *~ core *.core core.*


####### Sub-libraries

distclean: clean
	-$(DEL_FILE) $(TARGET) $(TARGET)


FORCE:

####### Install

install: all 

uninstall: 

