#CSC = /usr/users/wwwifa/docs/subatom/nucltheo/bin/cscc
#ILRUN = /usr/users/wwwifa/docs/subatom/nucltheo/bin/ilrun
#CSC = /usr/users/wwwifa/docs/subatom/nucltheo/bin/mcs
#ILRUN = /usr/users/wwwifa/docs/subatom/nucltheo/bin/mono --optimize=all
CSC = cscc
ILRUN = ilrun
#CSC = mcs
#ILRUN = mono

N = 100

comma:=,
empty:=
space:=$(empty) $(empty)

%.dll: %.cs
	$(CSC) /t:library $*.cs /out:$*.dll

dlls = matrix.dll jacobi.dll
refs = $(subst $(space),$(comma),$(dlls))

all: out.txt

jacobi.dll: jacobi.cs matrix.dll
	$(CSC) /t:library /r:matrix.dll jacobi.cs /out:jacobi.dll

main.exe: main.cs $(dlls) makefile
	$(CSC) main.cs /r:$(refs) /out:main.exe

out.txt: main.exe
	\time -p $(ILRUN) main.exe $(N) > out.txt
	cat out.txt


clean:
	rm -f $(dlls) *.exe* core*
