
#
# Compile and run MOSEK examples
#
CSC=csc.exe
blas_lapack.exe: blas_lapack.cs
	$(CSC) /platform:x86 /debug /out:blas_lapack.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe blas_lapack.cs

callback.exe: callback.cs
	$(CSC) /platform:x86 /debug /out:callback.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe callback.cs

case_portfolio_1.exe: case_portfolio_1.cs
	$(CSC) /platform:x86 /debug /out:case_portfolio_1.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe case_portfolio_1.cs

case_portfolio_2.exe: case_portfolio_2.cs
	$(CSC) /platform:x86 /debug /out:case_portfolio_2.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe case_portfolio_2.cs

case_portfolio_3.exe: case_portfolio_3.cs
	$(CSC) /platform:x86 /debug /out:case_portfolio_3.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe case_portfolio_3.cs

cqo1.exe: cqo1.cs
	$(CSC) /platform:x86 /debug /out:cqo1.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe cqo1.cs

feasrepairex1.exe: feasrepairex1.cs
	$(CSC) /platform:x86 /debug /out:feasrepairex1.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe feasrepairex1.cs

lo1.exe: lo1.cs
	$(CSC) /platform:x86 /debug /out:lo1.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe lo1.cs

lo2.exe: lo2.cs
	$(CSC) /platform:x86 /debug /out:lo2.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe lo2.cs

milo1.exe: milo1.cs
	$(CSC) /platform:x86 /debug /out:milo1.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe milo1.cs

mioinitsol.exe: mioinitsol.cs
	$(CSC) /platform:x86 /debug /out:mioinitsol.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe mioinitsol.cs

opt_server_async.exe: opt_server_async.cs
	$(CSC) /platform:x86 /debug /out:opt_server_async.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe opt_server_async.cs

opt_server_sync.exe: opt_server_sync.cs
	$(CSC) /platform:x86 /debug /out:opt_server_sync.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe opt_server_sync.cs

parameters.exe: parameters.cs
	$(CSC) /platform:x86 /debug /out:parameters.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe parameters.cs

production.exe: production.cs
	$(CSC) /platform:x86 /debug /out:production.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe production.cs

qcqo1.exe: qcqo1.cs
	$(CSC) /platform:x86 /debug /out:qcqo1.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe qcqo1.cs

qo1.exe: qo1.cs
	$(CSC) /platform:x86 /debug /out:qo1.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe qo1.cs

response.exe: response.cs
	$(CSC) /platform:x86 /debug /out:response.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe response.cs

scopt1.exe: scopt1.cs
	$(CSC) /platform:x86 /debug /out:scopt1.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe scopt1.cs

sdo1.exe: sdo1.cs
	$(CSC) /platform:x86 /debug /out:sdo1.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe sdo1.cs

sensitivity.exe: sensitivity.cs
	$(CSC) /platform:x86 /debug /out:sensitivity.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe sensitivity.cs

simple.exe: simple.cs
	$(CSC) /platform:x86 /debug /out:simple.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe simple.cs

solutionquality.exe: solutionquality.cs
	$(CSC) /platform:x86 /debug /out:solutionquality.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe solutionquality.cs

solvebasis.exe: solvebasis.cs
	$(CSC) /platform:x86 /debug /out:solvebasis.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe solvebasis.cs

solvelinear.exe: solvelinear.cs
	$(CSC) /platform:x86 /debug /out:solvelinear.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe solvelinear.cs

sparsecholesky.exe: sparsecholesky.cs
	$(CSC) /platform:x86 /debug /out:sparsecholesky.exe /r:..\..\platform\win32x86\bin\mosekdotnet8_1.dll /target:exe sparsecholesky.cs

all: blas_lapack.exe callback.exe case_portfolio_1.exe case_portfolio_2.exe case_portfolio_3.exe cqo1.exe feasrepairex1.exe lo1.exe lo2.exe milo1.exe mioinitsol.exe opt_server_async.exe opt_server_sync.exe parameters.exe production.exe qcqo1.exe qo1.exe response.exe scopt1.exe sdo1.exe sensitivity.exe simple.exe solutionquality.exe solvebasis.exe solvelinear.exe sparsecholesky.exe

clean:
	del blas_lapack.exe callback.exe case_portfolio_1.exe case_portfolio_2.exe case_portfolio_3.exe cqo1.exe feasrepairex1.exe lo1.exe lo2.exe milo1.exe mioinitsol.exe opt_server_async.exe opt_server_sync.exe parameters.exe production.exe qcqo1.exe qo1.exe response.exe scopt1.exe sdo1.exe sensitivity.exe simple.exe solutionquality.exe solvebasis.exe solvelinear.exe sparsecholesky.exe

test: blas_lapack.exe callback.exe case_portfolio_1.exe case_portfolio_2.exe case_portfolio_3.exe cqo1.exe feasrepairex1.exe lo1.exe lo2.exe milo1.exe mioinitsol.exe opt_server_async.exe opt_server_sync.exe parameters.exe production.exe qcqo1.exe qo1.exe response.exe scopt1.exe sdo1.exe sensitivity.exe simple.exe solutionquality.exe solvebasis.exe solvelinear.exe sparsecholesky.exe
	set PATH=..\..\platform\win32x86\bin;%%PATH%%
	copy ..\..\platform\win32x86\bin\mosekdotnet8_1.dll .
	blas_lapack.exe
	callback.exe
	case_portfolio_1.exe
	case_portfolio_2.exe
	case_portfolio_3.exe
	cqo1.exe
	feasrepairex1.exe
	lo1.exe
	lo2.exe
	milo1.exe
	mioinitsol.exe
	opt_server_async.exe
	opt_server_sync.exe
	parameters.exe
	production.exe
	qcqo1.exe
	qo1.exe
	response.exe
	scopt1.exe
	sdo1.exe
	sensitivity.exe
	simple.exe
	solutionquality.exe
	solvebasis.exe
	solvelinear.exe
	sparsecholesky.exe
