all: haifu
CPPFLAGS = -DUSE_G_COMPILER -std=gnu++11
OBJ = WordData.o SyllableParser.o TokenGenerator.o ProgramExecutor.o funcs.o \
	elements.o
LIB = -lpthread

haifu: Haifu

clean:
	rm -f Haifu *.o

run: Haifu
	Haifu

.cpp.o: 
	g++ $(CPPFLAGS) -c $*.cpp

Haifu: main.cpp $(OBJ)
	g++ -o Haifu $(CPPFLAGS) main.cpp $(OBJ) $(LIB)

WordData.o: WordData.h WordData.cpp funcs.o elements.o
SyllableParser.o: SyllableParser.h SyllableParser.cpp WordData.o funcs.o
TokenGenerator.o: TokenGenerator.h TokenGenerator.cpp WordData.o funcs.o elements.o
ProgramExecutor.o: ProgramExecutor.h ProgramExecutor.cpp TokenGenerator.o elements.o
funcs.o: funcs.h funcs.cpp
elements.o: elements.h elements.cpp
