458 lines
21 KiB
Makefile
Executable File
458 lines
21 KiB
Makefile
Executable File
# tags of dependencies to checkout.
|
|
GFLAGS_TAG = master
|
|
PROTOBUF_TAG = 3.0.0
|
|
SPARSEHASH_TAG = 2.0.3
|
|
CBC_TAG = 2.9.8
|
|
ZLIB_TAG = 1.2.8
|
|
ZLIB_ARCHIVE_TAG = 128
|
|
SWIG_TAG = 3.0.10
|
|
BISON_FLEX_TAG = 2.5.5
|
|
|
|
# Build extra dependencies (GLPK, SCIP) from archive only if the archive is present.
|
|
# The archive should be glpk-4.57.tar.gz
|
|
GLPK_TAG = 4.57
|
|
# The archive should be scipoptsuite-3.2.0.tgz
|
|
SCIP_TAG = 3.2.0
|
|
SOPLEX_TAG = 2.2.0
|
|
# Version of Sulum
|
|
SULUM_TAG = 43
|
|
|
|
# Detect if scip archive is there.
|
|
ifeq ($(wildcard dependencies/archives/scipoptsuite-$(SCIP_TAG).tgz),)
|
|
SCIP_TARGET =
|
|
SCIP_MAKEFILE = \# WINDOWS_SCIP_DIR support not included.
|
|
else
|
|
SCIP_TARGET = dependencies/install/lib/scip.lib
|
|
SCIP_MAKEFILE = WINDOWS_SCIP_DIR = $(OR_ROOT_FULL)\\dependencies\\install
|
|
endif
|
|
|
|
# Detect if GLPK archive is there.
|
|
ifeq ($(wildcard dependencies/archives/glpk-$(GLPK_TAG).tar.gz),)
|
|
GLPK_TARGET =
|
|
GLPK_MAKEFILE = \# GLPK support not included.
|
|
else
|
|
GLPK_TARGET = dependencies\install\bin\glpsol.exe
|
|
GLPK_MAKEFILE = WINDOWS_GLPK_DIR = $(OR_ROOT_FULL)\\dependencies\\install
|
|
endif
|
|
# Main target.
|
|
.PHONY: third_party build_third_party makefile_third_party
|
|
third_party: build_third_party makefile_third_party
|
|
|
|
# Create missing directories
|
|
|
|
MISSING_DIRECTORIES = \
|
|
bin \
|
|
lib \
|
|
objs/algorithms \
|
|
objs/base \
|
|
objs/bop \
|
|
objs/com/google/ortools \
|
|
objs/constraint_solver \
|
|
objs/flatzinc \
|
|
objs/glop \
|
|
objs/graph \
|
|
objs/linear_solver \
|
|
objs/lp_data \
|
|
objs/sat \
|
|
objs/swig \
|
|
objs/util \
|
|
src/gen/algorithms \
|
|
src/gen/bop \
|
|
src/gen/com/google/ortools/algorithms \
|
|
src/gen/com/google/ortools/constraintsolver \
|
|
src/gen/com/google/ortools/graph \
|
|
src/gen/com/google/ortools/linearsolver \
|
|
src/gen/com/google/ortools/flatzinc \
|
|
src/gen/constraint_solver \
|
|
src/gen/flatzinc \
|
|
src/gen/glop \
|
|
src/gen/graph \
|
|
src/gen/linear_solver \
|
|
src/gen/ortools/algorithms \
|
|
src/gen/ortools/constraint_solver \
|
|
src/gen/ortools/graph \
|
|
src/gen/ortools/linear_solver \
|
|
src/gen/sat
|
|
|
|
missing_directories: $(MISSING_DIRECTORIES)
|
|
|
|
build_third_party: \
|
|
install_directories \
|
|
missing_directories \
|
|
install_zlib \
|
|
install_gflags \
|
|
install_protobuf \
|
|
install_sparsehash \
|
|
install_swig \
|
|
install_coin_cbc \
|
|
install_glpk \
|
|
install_scip \
|
|
install_bison
|
|
|
|
bin:
|
|
$(MKDIR_P) bin
|
|
|
|
lib:
|
|
$(MKDIR_P) lib
|
|
|
|
objs/algorithms:
|
|
$(MKDIR_P) objs$Salgorithms
|
|
|
|
objs/base:
|
|
$(MKDIR_P) objs$Sbase
|
|
|
|
objs/bop:
|
|
$(MKDIR_P) objs$Sbop
|
|
|
|
objs/com/google/ortools:
|
|
$(MKDIR_P) objs$Scom$Sgoogle$Sortools
|
|
|
|
objs/constraint_solver:
|
|
$(MKDIR_P) objs$Sconstraint_solver
|
|
|
|
objs/flatzinc:
|
|
$(MKDIR_P) objs$Sflatzinc
|
|
|
|
objs/glop:
|
|
$(MKDIR_P) objs$Sglop
|
|
|
|
objs/graph:
|
|
$(MKDIR_P) objs$Sgraph
|
|
|
|
objs/linear_solver:
|
|
$(MKDIR_P) objs$Slinear_solver
|
|
|
|
objs/lp_data:
|
|
$(MKDIR_P) objs$Slp_data
|
|
|
|
objs/sat:
|
|
$(MKDIR_P) objs$Ssat
|
|
|
|
objs/swig:
|
|
$(MKDIR_P) objs$Sswig
|
|
|
|
objs/util:
|
|
$(MKDIR_P) objs$Sutil
|
|
|
|
src/gen/algorithms:
|
|
$(MKDIR_P) src$Sgen$Salgorithms
|
|
|
|
src/gen/bop:
|
|
$(MKDIR_P) src$Sgen$Sbop
|
|
|
|
src/gen/com/google/ortools/algorithms:
|
|
$(MKDIR_P) src$Sgen$Scom$Sgoogle$Sortools$Salgorithms
|
|
|
|
src/gen/com/google/ortools/constraintsolver:
|
|
$(MKDIR_P) src$Sgen$Scom$Sgoogle$Sortools$Sconstraintsolver
|
|
|
|
src/gen/com/google/ortools/graph:
|
|
$(MKDIR_P) src$Sgen$Scom$Sgoogle$Sortools$Sgraph
|
|
|
|
src/gen/com/google/ortools/linearsolver:
|
|
$(MKDIR_P) src$Sgen$Scom$Sgoogle$Sortools$Slinearsolver
|
|
|
|
src/gen/com/google/ortools/flatzinc:
|
|
$(MKDIR_P) src$Sgen$Scom$Sgoogle$Sortools$Sflatzinc
|
|
|
|
src/gen/constraint_solver:
|
|
$(MKDIR_P) src$Sgen$Sconstraint_solver
|
|
|
|
src/gen/flatzinc:
|
|
$(MKDIR_P) src$Sgen$Sflatzinc
|
|
|
|
src/gen/glop:
|
|
$(MKDIR_P) src$Sgen$Sglop
|
|
|
|
src/gen/graph:
|
|
$(MKDIR_P) src$Sgen$Sgraph
|
|
|
|
src/gen/linear_solver:
|
|
$(MKDIR_P) src$Sgen$Slinear_solver
|
|
|
|
src/gen/ortools/algorithms:
|
|
$(MKDIR_P) src$Sgen$Sortools$Salgorithms
|
|
|
|
src/gen/ortools/constraint_solver:
|
|
$(MKDIR_P) src$Sgen$Sortools$Sconstraint_solver
|
|
|
|
src/gen/ortools/graph:
|
|
$(MKDIR_P) src$Sgen$Sortools$Sgraph
|
|
|
|
src/gen/ortools/linear_solver:
|
|
$(MKDIR_P) src$Sgen$Sortools$Slinear_solver
|
|
|
|
src/gen/sat:
|
|
$(MKDIR_P) src$Sgen$Ssat
|
|
|
|
|
|
download_third_party: \
|
|
dependencies/archives/zlib$(ZLIB_ARCHIVE_TAG).zip \
|
|
dependencies/sources/gflags/autogen.sh \
|
|
dependencies/sources/protobuf/autogen.sh \
|
|
dependencies/sources/sparsehash/autogen.sh \
|
|
dependencies/archives/swigwin-$(SWIG_TAG).zip \
|
|
dependencies/sources/cbc-$(CBC_TAG)/configure
|
|
|
|
# Directories:
|
|
.PHONY: install_directories
|
|
install_directories: dependencies\install\bin dependencies\install\lib\coin dependencies\install\include\coin
|
|
|
|
dependencies\install\bin: dependencies\install
|
|
-$(MKDIR_P) dependencies\install\bin
|
|
|
|
dependencies\install\lib: dependencies\install
|
|
-$(MKDIR_P) dependencies\install\lib
|
|
|
|
dependencies\install\lib\coin: dependencies\install\lib
|
|
-$(MKDIR_P) dependencies\install\lib\coin
|
|
dependencies\install\include: dependencies\install
|
|
-$(MKDIR_P) dependencies\install\include
|
|
|
|
dependencies\install\include\coin: dependencies\install\include
|
|
-$(MKDIR_P) dependencies\install\include\coin
|
|
|
|
dependencies\install:
|
|
-$(MKDIR_P) dependencies\install
|
|
|
|
# Install zlib
|
|
install_zlib: dependencies\install\include\zlib.h dependencies\install\include\zconf.h dependencies\install\lib\zlib.lib
|
|
|
|
dependencies\install\include\zlib.h: dependencies\install\include dependencies\sources\zlib-$(ZLIB_TAG)\zlib.h
|
|
copy dependencies\sources\zlib-$(ZLIB_TAG)\zlib.h dependencies\install\include
|
|
|
|
dependencies\install\include\zconf.h: dependencies\sources\zlib-$(ZLIB_TAG)\zlib.h
|
|
copy dependencies\sources\zlib-$(ZLIB_TAG)\zconf.h dependencies\install\include
|
|
tools\touch.exe dependencies\install\include\zconf.h
|
|
|
|
dependencies\install\lib\zlib.lib: dependencies\sources\zlib-$(ZLIB_TAG)\zlib.h
|
|
cd dependencies\sources\zlib-$(ZLIB_TAG) && nmake -f win32\Makefile.msc zlib.lib
|
|
copy dependencies\sources\zlib-$(ZLIB_TAG)\zlib.lib dependencies\install\lib
|
|
|
|
dependencies\sources\zlib-$(ZLIB_TAG)\zlib.h: dependencies\archives\zlib$(ZLIB_ARCHIVE_TAG).zip
|
|
tools\unzip -d dependencies\sources dependencies\archives\zlib$(ZLIB_ARCHIVE_TAG).zip
|
|
tools\touch.exe dependencies\sources\zlib-$(ZLIB_TAG)\zlib.h
|
|
|
|
dependencies\archives\zlib$(ZLIB_ARCHIVE_TAG).zip:
|
|
tools\wget -P dependencies\archives http://zlib.net/zlib$(ZLIB_ARCHIVE_TAG).zip
|
|
|
|
install_gflags: dependencies/install/lib/gflags.lib
|
|
|
|
dependencies/install/lib/gflags.lib: dependencies/sources/gflags-$(GFLAGS_TAG)/INSTALL.md
|
|
cd dependencies/sources/gflags-$(GFLAGS_TAG) && \
|
|
$(CMAKE) -D CMAKE_INSTALL_PREFIX=..\..\install \
|
|
-D CMAKE_BUILD_TYPE=Release \
|
|
-G "NMake Makefiles" \
|
|
.
|
|
cd dependencies/sources/gflags-$(GFLAGS_TAG) && nmake install
|
|
$(TOUCH) dependencies/install/lib/gflags_static.lib
|
|
|
|
dependencies/sources/gflags-$(GFLAGS_TAG)/INSTALL.md: dependencies/archives/gflags-$(GFLAGS_TAG).zip
|
|
tools\unzip -d dependencies/sources dependencies\archives\gflags-$(GFLAGS_TAG).zip
|
|
-$(TOUCH) dependencies\sources\gflags-$(GFLAGS_TAG)\INSTALL.md
|
|
|
|
dependencies/archives/gflags-$(GFLAGS_TAG).zip:
|
|
# tools\wget -P dependencies\archives --no-check-certificate https://github.com/gflags/gflags/archive/v$(GFLAGS_TAG).zip
|
|
tools\wget -P dependencies\archives --no-check-certificate https://github.com/gflags/gflags/archive/master.zip
|
|
cd dependencies/archives && rename master.zip gflags-$(GFLAGS_TAG).zip
|
|
|
|
|
|
# Install protocol buffers.
|
|
install_protobuf: dependencies\install\bin\protoc.exe dependencies\install\include\google\protobuf\message.h
|
|
|
|
dependencies\install\bin\protoc.exe: dependencies\sources\protobuf-$(PROTOBUF_TAG)\cmake\build\Release\protoc.exe
|
|
copy dependencies\sources\protobuf-$(PROTOBUF_TAG)\cmake\build\Release\protoc.exe dependencies\install\bin
|
|
copy dependencies\sources\protobuf-$(PROTOBUF_TAG)\cmake\build\Release\*.lib dependencies\install\lib
|
|
|
|
dependencies\sources\protobuf-$(PROTOBUF_TAG)\cmake\build\Release\protoc.exe: dependencies\sources\protobuf-$(PROTOBUF_TAG)\cmake\build\protobuf.sln
|
|
cd dependencies\sources\protobuf-$(PROTOBUF_TAG)\cmake\build && msbuild protobuf.sln /t:Build /p:Configuration=Release;LinkIncremental=false
|
|
|
|
dependencies\install\include\google\protobuf\message.h: dependencies\sources\protobuf-$(PROTOBUF_TAG)\cmake\build\include.tar
|
|
cd dependencies\install && ..\..\tools\tar.exe xvmf ..\sources\protobuf-$(PROTOBUF_TAG)\cmake\build\include.tar
|
|
# copy dependencies\sources\protobuf-$(PROTOBUF_TAG)\src\google\protobuf-$(PROTOBUF_TAG)\stubs\stl_util.h dependencies\install\include\google\protobuf-$(PROTOBUF_TAG)\stubs
|
|
|
|
dependencies\sources\protobuf-$(PROTOBUF_TAG)\cmake\build\include.tar: dependencies\sources\protobuf-$(PROTOBUF_TAG)\cmake\build\protobuf.sln
|
|
cd dependencies\sources\protobuf-$(PROTOBUF_TAG)\cmake\build && extract_includes.bat
|
|
cd dependencies\sources\protobuf-$(PROTOBUF_TAG)\cmake\build && ..\..\..\..\..\tools\tar.exe cf include.tar include
|
|
|
|
dependencies\sources\protobuf-$(PROTOBUF_TAG)\cmake\build\protobuf.sln: dependencies\sources\protobuf-$(PROTOBUF_TAG)\cmake\CMakeLists.txt
|
|
-md dependencies\sources\protobuf-$(PROTOBUF_TAG)\cmake\build
|
|
tools\sed -i -e '/\"\/MD\"/d' dependencies\sources\protobuf-$(PROTOBUF_TAG)\cmake\CMakeLists.txt
|
|
cd dependencies\sources\protobuf-$(PROTOBUF_TAG)\cmake\build && cmake -G $(CMAKE_PLATFORM) -Dprotobuf_BUILD_TESTS=OFF ..
|
|
|
|
dependencies\sources\protobuf-$(PROTOBUF_TAG)\cmake\CMakeLists.txt:
|
|
# tools\wget -P dependencies\archives --no-check-certificate https://github.com/google/protobuf/release/download/v$(PROTOBUF_TAG)/protobuf-$(PROTOBUF_TAG).zip
|
|
tools\wget -P dependencies\archives --no-check-certificate https://github.com/google/protobuf/archive/v$(PROTOBUF_TAG).zip
|
|
tools\unzip -d dependencies\sources dependencies\archives\v$(PROTOBUF_TAG).zip
|
|
|
|
# Install sparsehash.
|
|
install_sparsehash: dependencies\install\include\google\dense_hash_map
|
|
|
|
dependencies\install\include\google\dense_hash_map: dependencies\sources\sparsehash-sparsehash-$(SPARSEHASH_TAG)\autogen.sh
|
|
-md dependencies\install\include\sparsehash
|
|
-md dependencies\install\include\sparsehash\internal
|
|
-md dependencies\install\include\google
|
|
-md dependencies\install\include\google\sparsehash
|
|
-copy dependencies\sources\sparsehash-sparsehash-$(SPARSEHASH_TAG)\src\sparsehash\* dependencies\install\include\sparsehash
|
|
-copy dependencies\sources\sparsehash-sparsehash-$(SPARSEHASH_TAG)\src\sparsehash\internal\* dependencies\install\include\sparsehash\internal
|
|
-copy dependencies\sources\sparsehash-sparsehash-$(SPARSEHASH_TAG)\src\google\* dependencies\install\include\google
|
|
-copy dependencies\sources\sparsehash-sparsehash-$(SPARSEHASH_TAG)\src\windows\google\* dependencies\install\include\google
|
|
-copy dependencies\sources\sparsehash-sparsehash-$(SPARSEHASH_TAG)\src\windows\google\sparsehash\* dependencies\install\include\google\sparsehash
|
|
-copy dependencies\sources\sparsehash-sparsehash-$(SPARSEHASH_TAG)\src\windows\sparsehash\internal\* dependencies\install\include\sparsehash\internal
|
|
|
|
dependencies\sources\sparsehash-sparsehash-$(SPARSEHASH_TAG)\autogen.sh:
|
|
tools\wget -P dependencies\archives --no-check-certificate https://github.com/sparsehash/sparsehash/archive/sparsehash-$(SPARSEHASH_TAG).zip
|
|
tools\unzip -d dependencies\sources dependencies\archives\sparsehash-$(SPARSEHASH_TAG).zip
|
|
|
|
|
|
# Install Coin CBC.
|
|
install_coin_cbc: dependencies\install\bin\cbc.exe
|
|
|
|
dependencies\install\bin\cbc.exe: dependencies\sources\cbc-$(CBC_TAG)\Cbc\MSVisualStudio\v10\$(CBC_PLATFORM)\cbc.exe
|
|
copy dependencies\sources\cbc-$(CBC_TAG)\Cbc\MSVisualStudio\v10\$(CBC_PLATFORM)\*.lib dependencies\install\lib\coin
|
|
copy dependencies\sources\cbc-$(CBC_TAG)\Cbc\src\*.hpp dependencies\install\include\coin
|
|
copy dependencies\sources\cbc-$(CBC_TAG)\Clp\src\*.hpp dependencies\install\include\coin
|
|
copy dependencies\sources\cbc-$(CBC_TAG)\Clp\src\OsiClp\*.hpp dependencies\install\include\coin
|
|
copy dependencies\sources\cbc-$(CBC_TAG)\CoinUtils\src\*.hpp dependencies\install\include\coin
|
|
copy dependencies\sources\cbc-$(CBC_TAG)\Cgl\src\*.hpp dependencies\install\include\coin
|
|
copy dependencies\sources\cbc-$(CBC_TAG)\Osi\src\Osi\*.hpp dependencies\install\include\coin
|
|
copy dependencies\sources\cbc-$(CBC_TAG)\Cbc\src\*.h dependencies\install\include\coin
|
|
copy dependencies\sources\cbc-$(CBC_TAG)\Clp\src\*.h dependencies\install\include\coin
|
|
copy dependencies\sources\cbc-$(CBC_TAG)\CoinUtils\src\*.h dependencies\install\include\coin
|
|
copy dependencies\sources\cbc-$(CBC_TAG)\Cgl\src\*.h dependencies\install\include\coin
|
|
copy dependencies\sources\cbc-$(CBC_TAG)\Osi\src\Osi\*.h dependencies\install\include\coin
|
|
copy dependencies\sources\cbc-$(CBC_TAG)\Cbc\MSVisualStudio\v10\$(CBC_PLATFORM)\cbc.exe dependencies\install\bin
|
|
|
|
dependencies\sources\cbc-$(CBC_TAG)\Cbc\MSVisualStudio\v10\$(CBC_PLATFORM)\cbc.exe: dependencies\sources\cbc-$(CBC_TAG)\configure
|
|
tools\upgrade_vs_project.cmd dependencies\\sources\\cbc-$(CBC_TAG)\\Clp\\MSVisualStudio\\v10\\libOsiClp\\libOsiClp.vcxproj $(VS_RELEASE)
|
|
tools\upgrade_vs_project.cmd dependencies\\sources\\cbc-$(CBC_TAG)\\Clp\\MSVisualStudio\\v10\\libClp\\libClp.vcxproj $(VS_RELEASE)
|
|
tools\upgrade_vs_project.cmd dependencies\\sources\\cbc-$(CBC_TAG)\\Cbc\\MSVisualStudio\\v10\\libOsiCbc\\libOsiCbc.vcxproj $(VS_RELEASE)
|
|
tools\upgrade_vs_project.cmd dependencies\\sources\\cbc-$(CBC_TAG)\\Cbc\\MSVisualStudio\\v10\\libCbc\\libCbc.vcxproj $(VS_RELEASE)
|
|
tools\upgrade_vs_project.cmd dependencies\\sources\\cbc-$(CBC_TAG)\\Cbc\\MSVisualStudio\\v10\\cbc\\cbc.vcxproj $(VS_RELEASE)
|
|
tools\upgrade_vs_project.cmd dependencies\\sources\\cbc-$(CBC_TAG)\\Cbc\\MSVisualStudio\\v10\\libCbcSolver\\libCbcSolver.vcxproj $(VS_RELEASE)
|
|
tools\upgrade_vs_project.cmd dependencies\\sources\\cbc-$(CBC_TAG)\\Osi\\MSVisualStudio\\v10\\libOsi\\libOsi.vcxproj $(VS_RELEASE)
|
|
tools\upgrade_vs_project.cmd dependencies\\sources\\cbc-$(CBC_TAG)\\CoinUtils\\MSVisualStudio\\v10\\libCoinUtils\\libCoinUtils.vcxproj $(VS_RELEASE)
|
|
tools\upgrade_vs_project.cmd dependencies\\sources\\cbc-$(CBC_TAG)\\Cgl\\MSVisualStudio\\v10\\libCgl\\libCgl.vcxproj $(VS_RELEASE)
|
|
sed -i 's/CBC_BUILD;/CBC_BUILD;CBC_THREAD_SAFE;CBC_NO_INTERRUPT;/g' dependencies\\sources\\cbc-$(CBC_TAG)\\Cbc\\MSVisualStudio\\v10\\libCbcSolver\\libCbcSolver.vcxproj
|
|
cd dependencies\sources\cbc-$(CBC_TAG)\Cbc\MSVisualStudio\v10 && msbuild Cbc.sln /t:cbc /p:Configuration=Release;BuildCmd=ReBuild
|
|
|
|
dependencies\sources\cbc-$(CBC_TAG)\configure:
|
|
svn co https://projects.coin-or.org/svn/Cbc/releases/$(CBC_TAG) dependencies/sources/cbc-$(CBC_TAG)
|
|
tools\sed -i -e "s/# include <direct.h>/# include <direct.h>\n# include <cctype>/g" dependencies\sources\cbc-$(CBC_TAG)\CoinUtils\src\CoinHelperFunctions.hpp
|
|
|
|
|
|
# Install SWIG.
|
|
install_swig: dependencies\install\swigwin-$(SWIG_TAG)\swig.exe
|
|
|
|
dependencies\install\swigwin-$(SWIG_TAG)\swig.exe: dependencies\archives\swigwin-$(SWIG_TAG).zip
|
|
tools\unzip -d dependencies/install dependencies\archives\swigwin-$(SWIG_TAG).zip
|
|
tools\touch.exe dependencies\install\swigwin-$(SWIG_TAG)\swig.exe
|
|
|
|
dependencies\archives\swigwin-$(SWIG_TAG).zip:
|
|
tools\wget -P dependencies\archives http://prdownloads.sourceforge.net/swig/swigwin-$(SWIG_TAG).zip
|
|
|
|
# Install glpk if needed.
|
|
install_glpk: $(GLPK_TARGET)
|
|
|
|
dependencies\install\bin\glpsol.exe: dependencies\sources\glpk-$(GLPK_TAG)\$(GLPK_PLATFORM)\glpsol.exe
|
|
copy dependencies\sources\glpk-$(GLPK_TAG)\$(GLPK_PLATFORM)\glpk.lib dependencies\install\lib
|
|
copy dependencies\sources\glpk-$(GLPK_TAG)\src\glpk.h dependencies\install\include
|
|
copy dependencies\sources\glpk-$(GLPK_TAG)\$(GLPK_PLATFORM)\glpsol.exe dependencies\install\bin
|
|
|
|
dependencies\sources\glpk-$(GLPK_TAG)\$(GLPK_PLATFORM)\glpsol.exe: dependencies\sources\glpk-$(GLPK_TAG)\configure
|
|
copy dependencies\sources\glpk-$(GLPK_TAG)\$(GLPK_PLATFORM)\config_VC dependencies\sources\glpk-$(GLPK_TAG)\$(GLPK_PLATFORM)\config.h
|
|
cd dependencies\sources\glpk-$(GLPK_TAG)\$(GLPK_PLATFORM) && nmake -f makefile_VC
|
|
|
|
dependencies\sources\glpk-$(GLPK_TAG)\configure: dependencies\archives\glpk-$(GLPK_TAG).tar.gz
|
|
cd dependencies\sources && ..\..\tools\gzip -dc ..\archives\glpk-$(GLPK_TAG).tar.gz | ..\..\tools\tar.exe xvmf -
|
|
$(SED) -i -e 's/nologo/nologo \/MD/g' dependencies\sources\glpk-$(GLPK_TAG)\$(GLPK_PLATFORM)/Makefile_VC
|
|
|
|
# Install scip if needed.
|
|
install_scip: $(SCIP_TARGET)
|
|
|
|
dependencies/install/lib/scip.lib: dependencies/archives/scipoptsuite-$(SCIP_TAG).tgz
|
|
# cd dependencies\install && ..\..\tools\gzip -dc ..\archives\scipoptsuite-$(SCIP_TAG).tgz | ..\..\tools\tar.exe xvmf -
|
|
cd dependencies\install && ..\..\tools\tar.exe xvmf ..\archives\scipoptsuite-$(SCIP_TAG).tgz
|
|
cd dependencies\install\scipoptsuite-$(SCIP_TAG) && ..\..\..\tools\gzip -dc soplex-$(SOPLEX_TAG).tgz | ..\..\..\tools\tar.exe xvmf -
|
|
# cd dependencies\install\scipoptsuite-$(SCIP_TAG) && ..\..\..\tools\gzip -dc scip-$(SCIP_TAG).tgz | ..\..\..\tools\tar.exe xvmf -
|
|
cd dependencies\install\scipoptsuite-$(SCIP_TAG) && ..\..\..\tools\gzip -d scip-$(SCIP_TAG).tgz
|
|
- cd dependencies\install\scipoptsuite-$(SCIP_TAG) && ..\..\..\tools\tar.exe xvmf scip-$(SCIP_TAG).tar
|
|
tools\upgrade_vs_project.cmd dependencies\\solutions\\Scip\\soplex\\soplex.vcxproj $(VS_RELEASE)
|
|
tools\upgrade_vs_project.cmd dependencies\\solutions\\Scip\\scip\\scip.vcxproj $(VS_RELEASE)
|
|
cd dependencies\solutions\Scip && msbuild /t:soplex
|
|
cd dependencies\solutions\Scip && msbuild /t:scip
|
|
-mkdir dependencies\install\include
|
|
-mkdir dependencies\install\include\scip
|
|
-mkdir dependencies\install\include\scip\scip
|
|
-mkdir dependencies\install\include\scip\blockmemshell
|
|
-mkdir dependencies\install\include\scip\lpi
|
|
-mkdir dependencies\install\include\scip\nlpi
|
|
copy dependencies\install\scipoptsuite-$(SCIP_TAG)\scip-$(SCIP_TAG)\src\scip\*.h dependencies\install\include\scip\scip
|
|
copy dependencies\install\scipoptsuite-$(SCIP_TAG)\scip-$(SCIP_TAG)\src\lpi\*.h dependencies\install\include\scip\lpi
|
|
copy dependencies\install\scipoptsuite-$(SCIP_TAG)\scip-$(SCIP_TAG)\src\nlpi\*.h dependencies\install\include\scip\nlpi
|
|
copy dependencies\install\scipoptsuite-$(SCIP_TAG)\scip-$(SCIP_TAG)\src\blockmemshell\*.h dependencies\install\include\scip\blockmemshell
|
|
git checkout dependencies/solutions/Scip/soplex/soplex.vcxproj
|
|
git checkout dependencies/solutions/Scip/scip/scip.vcxproj
|
|
|
|
# Install bison and flex in one package.
|
|
install_bison: dependencies\install\bin\win_bison.exe
|
|
|
|
dependencies\install\bin\win_flex.exe: dependencies\install\bin\win_bison.exe
|
|
|
|
dependencies\install\bin\win_bison.exe: dependencies\archives\win_flex_bison-$(BISON_FLEX_TAG).zip
|
|
tools\unzip -d dependencies\install\bin dependencies\archives\win_flex_bison-$(BISON_FLEX_TAG).zip
|
|
tools\touch.exe dependencies\install\bin/win_bison.exe
|
|
|
|
dependencies\archives\win_flex_bison-$(BISON_FLEX_TAG).zip:
|
|
tools\wget -P dependencies\archives --no-check-certificate https://sourceforge.net/projects/winflexbison/files/win_flex_bison-$(BISON_FLEX_TAG).zip
|
|
|
|
# Install Java protobuf
|
|
|
|
install_java_protobuf: dependencies/install/lib/protobuf.jar
|
|
|
|
dependencies/install/lib/protobuf.jar: dependencies/install/bin/protoc.exe
|
|
cd dependencies\\sources\\protobuf-$(PROTOBUF_TAG)\\java && \
|
|
..\\..\\..\\install\\bin\\protoc --java_out=core/src/main/java -I../src \
|
|
../src/google/protobuf/descriptor.proto
|
|
cd dependencies\\sources\\protobuf-$(PROTOBUF_TAG)\\java\\core\\src\\main\\java && jar cvf ..\\..\\..\\..\\..\\..\\..\\install\\lib\\protobuf.jar com\\google\\protobuf\\*java
|
|
|
|
# Clean everything.
|
|
clean_third_party:
|
|
-$(DEL) Makefile.local
|
|
-$(DELREC) dependencies\install
|
|
-$(DELREC) dependencies\sources\cbc-*
|
|
-$(DELREC) dependencies\sources\gflags*
|
|
-$(DELREC) dependencies\sources\glpk*
|
|
-$(DELREC) dependencies\sources\google*
|
|
-$(DELREC) dependencies\sources\protobuf*
|
|
-$(DELREC) dependencies\sources\sparsehash*
|
|
-$(DELREC) dependencies\sources\zlib*
|
|
|
|
# Create Makefile.local
|
|
makefile_third_party: Makefile.local
|
|
|
|
# Install python modules
|
|
install_python_modules: install_protobuf
|
|
copy dependencies\install\bin\protoc.exe dependencies\sources\protobuf-$(PROTOBUF_TAG)\src
|
|
cd dependencies\sources\protobuf-$(PROTOBUF_TAG)/python && $(WINDOWS_PYTHON_PATH)\\python.exe setup.py build
|
|
cd dependencies\sources\protobuf-$(PROTOBUF_TAG)/python && $(WINDOWS_PYTHON_PATH)\\python.exe setup.py install --user
|
|
|
|
Makefile.local:
|
|
@echo Generating Makefile.local
|
|
@echo WINDOWS_ZLIB_DIR = $(OR_ROOT_FULL)\\dependencies\\install> Makefile.local
|
|
@echo WINDOWS_ZLIB_NAME=zlib.lib>> Makefile.local
|
|
@echo WINDOWS_GFLAGS_DIR = $(OR_ROOT_FULL)\\dependencies\\install>> Makefile.local
|
|
@echo WINDOWS_PROTOBUF_DIR = $(OR_ROOT_FULL)\\dependencies\\install>> Makefile.local
|
|
@echo WINDOWS_SPARSEHASH_DIR = $(OR_ROOT_FULL)\\dependencies\\install>> Makefile.local
|
|
@echo WINDOWS_SWIG_BINARY = $(OR_ROOT_FULL)\\dependencies\\install\\swigwin-$(SWIG_TAG)\\swig.exe>> Makefile.local
|
|
@echo WINDOWS_CLP_DIR = $(OR_ROOT_FULL)\\dependencies\\install>> Makefile.local
|
|
@echo WINDOWS_CBC_DIR = $(OR_ROOT_FULL)\\dependencies\\install>> Makefile.local
|
|
@echo $(GLPK_MAKEFILE)>> Makefile.local
|
|
@echo $(SCIP_MAKEFILE)>> Makefile.local
|
|
@echo CLR_KEYFILE = bin\\or-tools.snk >> Makefile.local
|
|
@echo WINDOWS_SULUM_VERSION = $(SULUM_TAG) >> Makefile.local
|
|
@echo # Please define WINDOWS_SLM_DIR to use Sulum Optimization. >> Makefile.local
|
|
@echo # Please define WINDOWS_GUROBI_DIR and GUROBI_LIB_VERSION to use Gurobi. >> Makefile.local
|
|
@echo $(SELECTED_JDK_DEF)>> Makefile.local
|
|
@echo WINDOWS_PYTHON_VERSION = \# Please define the python version (27 by default)>> Makefile.local
|
|
@echo WINDOWS_PYTHON_PATH = \# Please define WINDOWS_PYTHON_PATH (c:\\python27 by default)>> Makefile.local
|