#------------------------------------------------------
# Makefile genere par make.py
# Ce logiciel a ete cree pour Modelib (ISIMA/2005)
# http://neuroo.kouette.com/modelib
# Quentin Lequy et Romain Gaucher
#------------------------------------------------------
SRCS=sources/Constraint.cpp sources/ConstraintBuilder.cpp sources/CplexSolver.cpp sources/Expr.cpp sources/FichierLP.cpp sources/FichierMPS.cpp sources/FichierProbleme.cpp sources/Fraction.cpp sources/GlpkSolver.cpp sources/htmlFile.cpp sources/LagrangianParam.cpp sources/latexFile.cpp sources/main.cpp sources/Model.cpp sources/Num.cpp sources/NumArray.cpp sources/NumVar.cpp sources/NumVarArray.cpp sources/NumVarMatrix.cpp sources/PsFile.cpp sources/Solution.cpp sources/Solver.cpp sources/SolverAPI.cpp sources/System.cpp sources/Utils.cpp 
OBJS=$(patsubst %.cpp, %.o, $(SRCS))
EXEC=bin/ModelMath.exe
LIBA=bin/model.a
LIBSO=bin/libmodel.so
OBJS_WITHOUT_MAIN=sources/Constraint.o sources/ConstraintBuilder.o sources/CplexSolver.o sources/Expr.o sources/FichierLP.o sources/FichierMPS.o sources/FichierProbleme.o sources/Fraction.o sources/GlpkSolver.o sources/htmlFile.o sources/LagrangianParam.o sources/latexFile.o sources/Model.o sources/Num.o sources/NumArray.o sources/NumVar.o sources/NumVarArray.o sources/NumVarMatrix.o sources/PsFile.o sources/Solution.o sources/Solver.o sources/SolverAPI.o sources/System.o sources/Utils.o 
#------------------------------------------------------
#Compilateur et option
CC=g++
AR=ar
CFLAGS=-Wall -pedantic -O3 -malign-double -ffast-math -std=c++98 -Iinclude
LFLAGS=-Iinclude -lm 
#------------------------------------------------------
#------------------------------------------------------
%.o : %.cpp
	$(CC) -c $(CFLAGS) $*.cpp -o $@

$(EXEC) : $(OBJS)
	@echo " exe file:"$(EXEC)
	@$(CC) -o $(EXEC) -g $(OBJS) $(LFLAGS)
	@echo " generate static_lib:" $(LIBA)
	@$(AR) r  $(LIBA) $(OBJS_WITHOUT_MAIN)
	@echo " generate dynamic library: " $(LIBSO)
	@$(CC) -shared -o $(LIBSO) $(OBJS_WITHOUT_MAIN)

clean:
	@echo "cleaning all files but sources"
	@rm -f $(OBJS) $(EXEC)

install:
	@echo " writing the path..."
	@export MODELIB=$PWD
	@export PATH=$PATH:$PWD/bin:$PWD/include
	@export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MODELIB/bin
