TARGET_ARCH = linux

CC = g++
OPT = -O3
DEBUG = -g
OTHER = -Wall
CFLAGS = $(OPT) $(OTHER)
RM = rm -f

#SYSTEMC = /opt/systemc-2.1
SYSTEMC = /home/fly/coding/libs/systemc/systemc-2.1.v1/
INCDIR = -L. -I.. -I$(SYSTEMC)/include
LIBDIR = -L. -L.. -L$(SYSTEMC)/lib-$(TARGET_ARCH)

LIBS = -lsystemc -lm $(EXTRA_LIBS)

EXE = Run
OBJS = Flip.o Omega.o Butterfly.o Crossbar.o XNetwork.o Main.o sender.o receiver.o cross2x2.o Baseline.o

ALL : $(OBJS) $(EXE)

%.o : %.cpp
	$(CC) -c $< -o $@ $(CFLAGS) $(INCDIR)

$(EXE) :
	$(CC) $(CFLAGS) $(INCDIR) $(LIBDIR) -o $@ $(OBJS) $(LIBS) 2>&1 | c++filt

clean :
	$(RM) $(OBJS) $(EXE)


