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