all: hsFooble

hsFooble: fooble.o fooble_stub.o Main.o
	ghc -fffi -lstdc++ fooble.o fooble_stub.o Main.o -o hsFooble

fooble.o: fooble.cpp fooble.h
	g++ -o fooble.o -c fooble.cpp

fooble_stub.o: fooble_stub.cpp fooble_stub.h
	g++ -o fooble_stub.o -c fooble_stub.cpp

Main.o: Main.hs fooble_stub.h
	ghc -fffi -c Main.hs

clean:
	rm -f Main.hi Main.o Main_stub.h Main_stub.c Main_stub.o hsFooble fooble.o fooble_stub.o
