
#
# Compile and run MOSEK examples
#
CSC=csc.exe
acc1.exe: acc1.cs
	$(CSC) /platform:x64 /debug /out:acc1.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe acc1.cs

acc2.exe: acc2.cs
	$(CSC) /platform:x64 /debug /out:acc2.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe acc2.cs

blas_lapack.exe: blas_lapack.cs
	$(CSC) /platform:x64 /debug /out:blas_lapack.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe blas_lapack.cs

callback.exe: callback.cs
	$(CSC) /platform:x64 /debug /out:callback.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe callback.cs

portfolio_1_basic.exe: portfolio_1_basic.cs
	$(CSC) /platform:x64 /debug /out:portfolio_1_basic.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe portfolio_1_basic.cs

portfolio_2_frontier.exe: portfolio_2_frontier.cs
	$(CSC) /platform:x64 /debug /out:portfolio_2_frontier.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe portfolio_2_frontier.cs

portfolio_3_impact.exe: portfolio_3_impact.cs
	$(CSC) /platform:x64 /debug /out:portfolio_3_impact.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe portfolio_3_impact.cs

portfolio_4_transcost.exe: portfolio_4_transcost.cs
	$(CSC) /platform:x64 /debug /out:portfolio_4_transcost.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe portfolio_4_transcost.cs

portfolio_5_card.exe: portfolio_5_card.cs
	$(CSC) /platform:x64 /debug /out:portfolio_5_card.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe portfolio_5_card.cs

portfolio_6_factor.exe: portfolio_6_factor.cs
	$(CSC) /platform:x64 /debug /out:portfolio_6_factor.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe portfolio_6_factor.cs

cqo1.exe: cqo1.cs
	$(CSC) /platform:x64 /debug /out:cqo1.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe cqo1.cs

ceo1.exe: ceo1.cs
	$(CSC) /platform:x64 /debug /out:ceo1.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe ceo1.cs

pow1.exe: pow1.cs
	$(CSC) /platform:x64 /debug /out:pow1.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe pow1.cs

djc1.exe: djc1.cs
	$(CSC) /platform:x64 /debug /out:djc1.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe djc1.cs

concurrent1.exe: concurrent1.cs
	$(CSC) /platform:x64 /debug /out:concurrent1.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe concurrent1.cs

feasrepairex1.exe: feasrepairex1.cs
	$(CSC) /platform:x64 /debug /out:feasrepairex1.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe feasrepairex1.cs

helloworld.exe: helloworld.cs
	$(CSC) /platform:x64 /debug /out:helloworld.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe helloworld.cs

lo1.exe: lo1.cs
	$(CSC) /platform:x64 /debug /out:lo1.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe lo1.cs

lo2.exe: lo2.cs
	$(CSC) /platform:x64 /debug /out:lo2.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe lo2.cs

logistic.exe: logistic.cs
	$(CSC) /platform:x64 /debug /out:logistic.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe logistic.cs

gp1.exe: gp1.cs
	$(CSC) /platform:x64 /debug /out:gp1.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe gp1.cs

milo1.exe: milo1.cs
	$(CSC) /platform:x64 /debug /out:milo1.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe milo1.cs

mioinitsol.exe: mioinitsol.cs
	$(CSC) /platform:x64 /debug /out:mioinitsol.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe mioinitsol.cs

mico1.exe: mico1.cs
	$(CSC) /platform:x64 /debug /out:mico1.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe mico1.cs

opt_server_async.exe: opt_server_async.cs
	$(CSC) /platform:x64 /debug /out:opt_server_async.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe opt_server_async.cs

opt_server_sync.exe: opt_server_sync.cs
	$(CSC) /platform:x64 /debug /out:opt_server_sync.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe opt_server_sync.cs

parallel.exe: parallel.cs
	$(CSC) /platform:x64 /debug /out:parallel.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe parallel.cs

parameters.exe: parameters.cs
	$(CSC) /platform:x64 /debug /out:parameters.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe parameters.cs

pinfeas.exe: pinfeas.cs
	$(CSC) /platform:x64 /debug /out:pinfeas.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe pinfeas.cs

reoptimization.exe: reoptimization.cs
	$(CSC) /platform:x64 /debug /out:reoptimization.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe reoptimization.cs

qcqo1.exe: qcqo1.cs
	$(CSC) /platform:x64 /debug /out:qcqo1.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe qcqo1.cs

qo1.exe: qo1.cs
	$(CSC) /platform:x64 /debug /out:qo1.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe qo1.cs

response.exe: response.cs
	$(CSC) /platform:x64 /debug /out:response.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe response.cs

sdo1.exe: sdo1.cs
	$(CSC) /platform:x64 /debug /out:sdo1.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe sdo1.cs

sdo2.exe: sdo2.cs
	$(CSC) /platform:x64 /debug /out:sdo2.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe sdo2.cs

sdo_lmi.exe: sdo_lmi.cs
	$(CSC) /platform:x64 /debug /out:sdo_lmi.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe sdo_lmi.cs

sensitivity.exe: sensitivity.cs
	$(CSC) /platform:x64 /debug /out:sensitivity.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe sensitivity.cs

simple.exe: simple.cs
	$(CSC) /platform:x64 /debug /out:simple.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe simple.cs

solutionquality.exe: solutionquality.cs
	$(CSC) /platform:x64 /debug /out:solutionquality.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe solutionquality.cs

solvebasis.exe: solvebasis.cs
	$(CSC) /platform:x64 /debug /out:solvebasis.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe solvebasis.cs

solvelinear.exe: solvelinear.cs
	$(CSC) /platform:x64 /debug /out:solvelinear.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe solvelinear.cs

sparsecholesky.exe: sparsecholesky.cs
	$(CSC) /platform:x64 /debug /out:sparsecholesky.exe /r:..\..\platform\win64x86\bin\mosekdotnet10_2.dll /target:exe sparsecholesky.cs

all: acc1.exe acc2.exe blas_lapack.exe callback.exe portfolio_1_basic.exe portfolio_2_frontier.exe portfolio_3_impact.exe portfolio_4_transcost.exe portfolio_5_card.exe portfolio_6_factor.exe cqo1.exe ceo1.exe pow1.exe djc1.exe concurrent1.exe feasrepairex1.exe helloworld.exe lo1.exe lo2.exe logistic.exe gp1.exe milo1.exe mioinitsol.exe mico1.exe opt_server_async.exe opt_server_sync.exe parallel.exe parameters.exe pinfeas.exe reoptimization.exe qcqo1.exe qo1.exe response.exe sdo1.exe sdo2.exe sdo_lmi.exe sensitivity.exe simple.exe solutionquality.exe solvebasis.exe solvelinear.exe sparsecholesky.exe

clean:
	del acc1.exe acc2.exe blas_lapack.exe callback.exe portfolio_1_basic.exe portfolio_2_frontier.exe portfolio_3_impact.exe portfolio_4_transcost.exe portfolio_5_card.exe portfolio_6_factor.exe cqo1.exe ceo1.exe pow1.exe djc1.exe concurrent1.exe feasrepairex1.exe helloworld.exe lo1.exe lo2.exe logistic.exe gp1.exe milo1.exe mioinitsol.exe mico1.exe opt_server_async.exe opt_server_sync.exe parallel.exe parameters.exe pinfeas.exe reoptimization.exe qcqo1.exe qo1.exe response.exe sdo1.exe sdo2.exe sdo_lmi.exe sensitivity.exe simple.exe solutionquality.exe solvebasis.exe solvelinear.exe sparsecholesky.exe

test: acc1.exe acc2.exe blas_lapack.exe callback.exe portfolio_1_basic.exe portfolio_2_frontier.exe portfolio_3_impact.exe portfolio_4_transcost.exe portfolio_5_card.exe portfolio_6_factor.exe cqo1.exe ceo1.exe pow1.exe djc1.exe concurrent1.exe feasrepairex1.exe helloworld.exe lo1.exe lo2.exe logistic.exe gp1.exe milo1.exe mioinitsol.exe mico1.exe opt_server_async.exe opt_server_sync.exe parallel.exe parameters.exe pinfeas.exe reoptimization.exe qcqo1.exe qo1.exe response.exe sdo1.exe sdo2.exe sdo_lmi.exe sensitivity.exe simple.exe solutionquality.exe solvebasis.exe solvelinear.exe sparsecholesky.exe
	set PATH=..\..\platform\win64x86\bin;%%PATH%%
	copy ..\..\platform\win64x86\bin\mosekdotnet10_2.dll .
	acc1.exe
	acc2.exe
	blas_lapack.exe
	callback.exe
	portfolio_1_basic.exe
	portfolio_2_frontier.exe
	portfolio_3_impact.exe
	portfolio_4_transcost.exe
	portfolio_5_card.exe
	portfolio_6_factor.exe
	cqo1.exe
	ceo1.exe
	pow1.exe
	djc1.exe
	concurrent1.exe
	feasrepairex1.exe
	helloworld.exe
	lo1.exe
	lo2.exe
	logistic.exe
	gp1.exe
	milo1.exe
	mioinitsol.exe
	mico1.exe
	opt_server_async.exe
	opt_server_sync.exe
	parallel.exe
	parameters.exe
	pinfeas.exe
	reoptimization.exe
	qcqo1.exe
	qo1.exe
	response.exe
	sdo1.exe
	sdo2.exe
	sdo_lmi.exe
	sensitivity.exe
	simple.exe
	solutionquality.exe
	solvebasis.exe
	solvelinear.exe
	sparsecholesky.exe
