SDKDIR=$(HOME)/.dotnet/sdk/6.0.102# or whatever your sdk is
CSCPATH=$(SDKDIR)/Roslyn/bincore/csc.dll
NETSTANDARD=$(SDKDIR)/ref/netstandard.dll
CONFIG=$(SDKDIR)/vstest.console.runtimeconfig.json
DOTNET=DOTNET_CLI_TELEMETRY_OPTOUT=1; dotnet
CSC=$(DOTNET) $(CSCPATH) -reference:$(NETSTANDARD)
RUN=$(DOTNET) exec --runtimeconfig $(CONFIG)
CSC = mcs
RUN = mono

all:ms.pdf

ms.pdf:ms.tex fig-gamma.tex fig-gamma-pyx.pdf
	pdflatex $<
	pdflatex $<
#	bibtex $<
#	pdflatex $<

fig-gamma-pyx.pdf: fig-gamma-pyx.gpi out.gamma.txt tab.gamma.txt
	pyxplot $<

fig-gamma.tex:fig-gamma.gpi out.gamma.txt tab.gamma.txt
	gnuplot $<

out.gamma.txt:main.exe
	$(RUN) $< > $@

main.exe: main.cs gamma.dll
gamma.dll:gamma.cs

%.exe: %.cs
	$(CSC) -t:exe $(addprefix -r:,$(filter %.dll,$^)) $(filter %.cs,$^)

%.dll: %.cs
	$(CSC) -t:library $(addprefix -r:,$(filter %.dll,$^)) $(filter %.cs,$^)

clean:
	$(RM) *.eps *.pdf *.log *.aux *.dll *.exe out* fig-gamma.tex
