# Makefile for dtb

C++ = g++
CXXFLAGS = -O2 -ansi -pedantic -Wall -fopenmp -ftree-vectorize -msse2
SHAREDOBJ = ruzcore.o ruzic.o zboril.o error.o utils.o

.PHONY:	all clean

all:	tb loopbreak

clean:
	rm -rf tb tb.o $(SHAREDOBJ)

loopbreak: $(SHAREDOBJ) loopbreak.o
	$(C++) -fopenmp -o loopbreak $(SHAREDOBJ) loopbreak.o

tb: $(SHAREDOBJ) tb.o
	$(C++) -fopenmp -o tb $(SHAREDOBJ) tb.o

ruzcore.o: ruzcore.cc ruzcore.h setup.h
	$(C++) -c ruzcore.cc -o ruzcore.o $(CXXFLAGS)

ruzic.o: ruzic.cc ruzic.h setup.h
	$(C++) -c ruzic.cc -o ruzic.o $(CXXFLAGS)

zboril.o: zboril.cc zboril.h setup.h
	$(C++) -c zboril.cc -o zboril.o $(CXXFLAGS)

tb.o: tb.cc error.h utils.h ruzic.h tb_private.h
	$(C++) -c tb.cc -o tb.o $(CXXFLAGS)

error.o: error.cc error.h setup.h
	$(C++) -c error.cc -o error.o $(CXXFLAGS)

utils.o: utils.cc utils.h setup.h
	$(C++) -c utils.cc -o utils.o $(CXXFLAGS)
