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) # export DOTNET_CLI_TELEMETRY_OPTOUT=1 #CSC = mcs #RUN = mono all: Fig.erf.png Fig.erf.png: fig.erf.gpi erf.data.txt erf.tab.txt gnuplot $< erf.data.txt:main.exe $(RUN) $< > $@ main.exe:main.cs matlib.dll $(CSC) -reference:matlib.dll $< matlib.dll: ../../matlib/integrate/integrate.cs $(CSC) -target:library -out:./$@ $< clean: $(RM) *.dll *.exe *.png *.data.txt %.exe: %.cs $(CSC) -t:exe $(addprefix -r:,$(filter %.dll,$^)) $(filter %.cs,$^) %.dll: %.cs $(CSC) -t:library -out:./%.dll $(addprefix -r:,$(filter %.dll,$^)) $(filter %.cs,$^)