DLLS = $(addprefix -reference:,$(filter %.dll,$^))
CODE = $(filter %.cs,$^)

Ns := $(shell seq 20 1 30)

out.times.txt: main.exe Makefile
	>$@
	for N in $(Ns); do \
		time -ao $@ -f "$$N %e" mono $< $$N & \
	done; wait
	sort $@ -o $@

out.times-2.txt: main.exe Makefile
	for N in $(Ns); do \
		time -ao log.$$N.txt -f "$$N %e" mono $< $$N & \
	done; wait
	>$@
	for N in $(Ns); do cat log.$$N.txt >> $@; done
	$(RM) log*

main.exe : main.cs matlib.dll
	mcs -target:exe -out:$@ $(DLLS) $(CODE)

matlib.dll : evd.cs matrix.cs vector.cs
	mcs -target:library -out:$@ $(DLLS) $(CODE)

clean:
	$(RM) *.dll *.exe out* log*
