99 lines
3.3 KiB
Makefile
99 lines
3.3 KiB
Makefile
# Windows specific definitions
|
|
PROTOBUF_DIR = $(WINDOWS_PROTOBUF_DIR)
|
|
SWIG_BINARY = $(WINDOWS_SWIG_BINARY)
|
|
LIB_DIR = $(OR_ROOT)lib
|
|
LIBPREFIX =
|
|
LIBSUFFIX = lib
|
|
BIN_DIR = $(OR_ROOT)bin
|
|
GEN_DIR = $(OR_ROOT)src\\gen
|
|
OBJ_DIR = $(OR_ROOT)objs
|
|
SRC_DIR = $(OR_ROOT)src
|
|
EX_DIR = $(OR_ROOT)examples
|
|
INC_DIR = $(OR_ROOT)src
|
|
LINKCMD = lib
|
|
LINKPREFIX = /OUT:
|
|
PRE_LIB = $(OR_ROOT)lib\\
|
|
POST_LIB = .lib
|
|
O=obj
|
|
E=.exe
|
|
OBJ_OUT = /Fo$(OR_ROOT)objs\\
|
|
EXEOUT = /Fe$(OR_ROOT)bin\\
|
|
SHAREDLIBEXT = dll
|
|
JNILIBEXT = dll
|
|
LDOUT = /OUT:
|
|
LD = link /DLL /LTCG
|
|
S = \\
|
|
CPSEP =;
|
|
DEL = del
|
|
DELREC = tools\rm.exe -rf
|
|
MKDIR = md
|
|
COPY = copy
|
|
TOUCH = tools\touch.exe
|
|
|
|
# Compilation macros.
|
|
DEBUG=/O2 -DNDEBUG
|
|
CCC=cl /EHsc /MD /nologo
|
|
CSC=csc
|
|
|
|
GFLAGS_INC = /I$(WINDOWS_GFLAGS_DIR)\\src\\windows /I$(WINDOWS_GFLAGS_DIR)\\src /DGFLAGS_DLL_DECL= /DGFLAGS_DLL_DECLARE_FLAG= /DGFLAGS_DLL_DEFINE_FLAG=
|
|
ZLIB_INC = /I$(WINDOWS_ZLIB_DIR)\\include
|
|
PROTOBUF_INC = /I$(WINDOWS_PROTOBUF_DIR)\\include
|
|
SPARSEHASH_INC = /I$(WINDOWS_SPARSEHASH_DIR)\\include
|
|
# Tinythread
|
|
THREAD_INC = /I$(OR_ROOT)dependencies\\sources\\TinyThread++-1.0\\source
|
|
# Tinythread
|
|
MINISAT_INC = /I$(OR_ROOT)dependencies\\sources\\Minisat
|
|
|
|
PYTHONVERSION = $(WINDOWS_PYTHON_VERSION)
|
|
PYTHON_INC=/I$(WINDOWS_PYTHON_PATH)\\include
|
|
PYTHON_LNK=$(WINDOWS_PYTHON_PATH)\\libs\\python$(PYTHONVERSION).lib
|
|
|
|
# Define CLP_DIR if unset and if CBC_DIR is set.
|
|
ifdef WINDOWS_CBC_DIR
|
|
ifndef WINDOWS_CLP_DIR
|
|
WINDOWS_CLP_DIR=$(WINDOWS_CBC_DIR)
|
|
endif
|
|
endif
|
|
# This is needed to find Coin LP include files and libraries.
|
|
ifdef WINDOWS_CLP_DIR
|
|
CLP_INC = /I$(WINDOWS_CLP_DIR)\\include /DUSE_CLP
|
|
CLP_SWIG = -DUSE_CLP
|
|
CLP_LNK = $(WINDOWS_CLP_DIR)\\lib\\coin\\libClp.lib $(WINDOWS_CLP_DIR)\\lib\\coin\\libCoinUtils.lib
|
|
endif
|
|
# This is needed to find Coin Branch and Cut include files and libraries.
|
|
ifdef WINDOWS_CBC_DIR
|
|
CBC_INC = /I$(WINDOWS_CBC_DIR)\\include /DUSE_CBC
|
|
CBC_SWIG = -DUSE_CBC
|
|
CBC_LNK = $(WINDOWS_CBC_DIR)\\lib\\coin\\libCbcSolver.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libCbc.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libCgl.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libOsi.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libOsiCbc.lib $(WINDOWS_CBC_DIR)\\lib\\coin\\libOsiClp.lib
|
|
endif
|
|
# This is needed to find GLPK include files and libraries.
|
|
ifdef WINDOWS_GLPK_DIR
|
|
GLPK_INC = /I$(WINDOWS_GLPK_DIR)\\include /DUSE_GLPK
|
|
GLPK_SWIG = -DUSE_GLPK
|
|
GLPK_LNK = $(WINDOWS_GLPK_DIR)\\lib\\glpk.lib
|
|
endif
|
|
# This is needed to find SULUM include files and libraries.
|
|
ifdef WINDOWS_SLM_DIR
|
|
SLM_INC = /I$(WINDOWS_SLM_DIR)\\header /DUSE_SLM
|
|
SLM_SWIG = -DUSE_SLM
|
|
SLM_LNK = $(WINDOWS_SLM_DIR)\\win$(PTRLENGTH)\\bin\\sulum10.lib
|
|
endif
|
|
|
|
SWIG_INC = $(GLPK_SWIG) $(CLP_SWIG) $(CBC_SWIG) $(SCIP_SWIG) $(SLM_SWIG)
|
|
|
|
JAVA_INC=/I"$(WINDOWS_JDK_DIR)\\include" /I"$(WINDOWS_JDK_DIR)\\include\\win32"
|
|
JAVAC_BIN="$(WINDOWS_JDK_DIR)/bin/javac"
|
|
JAVA_BIN="$(WINDOWS_JDK_DIR)/bin/java"
|
|
JAR_BIN="$(WINDOWS_JDK_DIR)/bin/jar"
|
|
|
|
CFLAGS= -nologo $(SYSCFLAGS) $(DEBUG) /I$(INC_DIR) /I$(EX_DIR) /I$(GEN_DIR) $(GFLAGS_INC) $(ZLIB_INC) $(THREAD_INC) $(MINISAT_INC)\
|
|
$(PROTOBUF_INC) $(CBC_INC) $(CLP_INC) $(GLPK_INC) $(SLM_INC) /D__WIN32__ \
|
|
$(SPARSEHASH_INC)
|
|
JNIFLAGS=$(CFLAGS) $(JAVA_INC)
|
|
GFLAGS_LNK = $(WINDOWS_GFLAGS_DIR)\\lib\\libgflags.lib
|
|
ZLIB_LNK = $(WINDOWS_ZLIB_DIR)\\lib\\$(WINDOWS_ZLIB_NAME)
|
|
PROTOBUF_LNK = $(PROTOBUF_DIR)\\lib\\libprotobuf.lib
|
|
LDFLAGS=$(GFLAGS_LNK) $(ZLIB_LNK) $(PROTOBUF_LNK) psapi.lib ws2_32.lib
|
|
LDLPDEPS=$(CBC_LNK) $(CLP_LNK) $(GLPK_LNK) $(SLM_LNK)
|
|
|