# http://Evgenii.Rudnyi.Ru/

include ../make.inc

ifdef TAUCSINC
	TAUCSINC := -I$(TAUCSINC)
endif
ifdef TAUCSLIB
	TAUCSDEP := solver_taucs.obj
	TAUCSDEF := -DUSETAUCS
endif
ifdef MUMPSINC
	MUMPSINC := -I$(MUMPSINC)
endif
ifdef MUMPSLIB
	MUMPSDEP := solver_mumps.obj
	MUMPSDEF := -DUSEMUMPS
endif
ifdef UMFPACKINC
	UMFPACKINC := -I$(UMFPACKINC)
endif
ifdef UMFPACKLIB
	UMFPACKDEP := solver_umfpack.obj
	UMFPACKDEF := -DUSEUMFPACK
endif
ifdef PARDISOINC
	PARDISOINC := -I$(PARDISOINC)
endif
ifdef PARDISOLIB
	PARDISODEP := solver_pardiso.obj
	PARDISODEF := -DUSEPARDISO
endif

.SUFFIXES: .cpp .obj
.cpp.obj:
	$(CPP) $(FLAGS) -I. $(TAUCSINC) $(MUMPSINC) $(UMFPACKINC) $(PARDISOINC) -c $*.cpp

solvers.lib : matrices.obj solvers.obj $(TAUCSDEP) $(MUMPSDEP) $(UMFPACKDEP) $(PARDISODEP)
	lib -out:$@ $^

solvers.obj : solvers.cpp
	$(CPP) $(FLAGS) -I. $(TAUCSDEF) $(MUMPSDEF) $(UMFPACKDEF) $(PARDISODEF) -c $*.cpp

clean:
	rm -f *.obj *.exe *.manifest *.lib

