SDKDIR=$(HOME)/.dotnet/sdk/6.0.102
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: Out.txt
	cat Out.txt

Out.txt: main.exe
	$(RUN) main.exe > Out.txt

main.exe: main.cs cmath.dll
	$(CSC) -t:exe -out:$@ $(addprefix -r:,$(filter %.dll,$^)) $<

CMATHDIR=../../matlib/complex
cmath.dll: $(CMATHDIR)/complex.cs $(CMATHDIR)/cmath.cs
	$(CSC) -t:library -out:./$@ $^

clean:
	$(RM) *.exe *.dll [Oo]ut*.txt
