source: branches/heur/Cbc/src/Makefile.am @ 885

Last change on this file since 885 was 871, checked in by forrest, 12 years ago

add diving heuristics

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 11.0 KB
Line 
1# Copyright (C) 2006, 2007 International Business Machines and others.
2# All Rights Reserved.
3# This file is distributed under the Common Public License.
4
5## $Id: Makefile.am 871 2008-02-13 20:52:57Z jpgoncal $
6
7# Author:  Andreas Waechter           IBM    2006-04-13
8
9AUTOMAKE_OPTIONS = foreign
10
11########################################################################
12#                               libCbc                                 #
13########################################################################
14
15# Name of the library compiled in this directory.  We want it to be installed
16# in the 'lib' directory
17lib_LTLIBRARIES = libCbc.la libCbcSolver.la
18
19# List all source files for this library, including headers
20libCbc_la_SOURCES = \
21        Cbc_C_Interface.cpp Cbc_C_Interface.h \
22        CbcConfig.h \
23        CbcBranchActual.cpp CbcBranchActual.hpp \
24        CbcBranchBase.cpp CbcBranchBase.hpp \
25        CbcBranchCut.cpp CbcBranchCut.hpp \
26        CbcBranchDynamic.cpp CbcBranchDynamic.hpp \
27        CbcBranchLotsize.cpp CbcBranchLotsize.hpp \
28        CbcCompareActual.cpp CbcCompareActual.hpp \
29        CbcCompareBase.hpp \
30        CbcCountRowCut.cpp CbcCountRowCut.hpp \
31        CbcCutGenerator.cpp CbcCutGenerator.hpp \
32        CbcEventHandler.cpp CbcEventHandler.hpp \
33        CbcFathom.cpp CbcFathom.hpp \
34        CbcFathomDynamicProgramming.cpp CbcFathomDynamicProgramming.hpp \
35        CbcFeasibilityBase.hpp \
36        CbcHeuristic.cpp CbcHeuristic.hpp \
37        CbcHeuristicDiveCoefficient.cpp CbcHeuristicDiveCoefficient.hpp \
38        CbcHeuristicDiveFractional.cpp CbcHeuristicDiveFractional.hpp \
39        CbcHeuristicDiveGuided.cpp CbcHeuristicDiveGuided.hpp \
40        CbcHeuristicDiveVectorLength.cpp CbcHeuristicDiveLength.hpp \
41        CbcHeuristicFPump.cpp CbcHeuristicFPump.hpp \
42        CbcHeuristicGreedy.cpp CbcHeuristicGreedy.hpp \
43        CbcHeuristicLocal.cpp CbcHeuristicLocal.hpp \
44        CbcHeuristicRINS.cpp CbcHeuristicRINS.hpp \
45        CbcMessage.cpp CbcMessage.hpp \
46        CbcModel.cpp CbcModel.hpp \
47        CbcNode.cpp CbcNode.hpp \
48        CbcStatistics.cpp CbcStatistics.hpp \
49        CbcStrategy.cpp CbcStrategy.hpp \
50        CbcTree.cpp CbcTree.hpp \
51        CbcTreeLocal.cpp CbcTreeLocal.hpp
52
53libCbcSolver_la_SOURCES = \
54        CbcCbcParam.cpp \
55        Cbc_ampl.cpp Cbc_ampl.h \
56        ClpConstraintAmpl.hpp ClpAmplObjective.hpp ClpAmplStuff.cpp \
57        CbcLinked.cpp CbcLinked.hpp \
58        unitTestClp.cpp CbcSolver.cpp
59
60#Stefan: added unitTestClp.cpp because CbcSolver defines reference to it
61
62## If we have the Ampl solver library, we need to add additional things
63## also see lower down
64## new idea is to add in source code anyway
65##libCbc_la_SOURCES += Cbc_ampl.cpp Cbc_ampl.h
66
67
68# This is for libtool (on Windows)
69
70libCbc_la_LDFLAGS = $(LT_LDFLAGS)
71libCbcSolver_la_LDFLAGS = $(LT_LDFLAGS)
72
73# Some common setup for cbc and cbc-generic.
74
75bin_PROGRAMS =
76AM_CPPFLAGS =
77
78LIBS += `cat $(CGLOBJDIR)/cgl_addlibs.txt` \
79        `cat $(OSIOBJDIR)/osi_addlibs.txt` \
80        `cat $(COINUTILSOBJDIR)/coinutils_addlibs.txt` $(ADDLIBS)
81
82
83########################################################################
84#                            cbc program                               #
85########################################################################
86
87if COIN_HAS_CLP
88
89# Name of the executable compiled in this directory.  We want it to be
90# installed in the 'bin' directory
91bin_PROGRAMS += cbc
92
93# List all source files for this executable, including headers
94cbc_SOURCES = \
95        CoinSolve.cpp
96
97# Additional COIN libraries
98cbc_LDADD = libCbcSolver.la \
99        libCbc.la \
100        $(CGLOBJDIR)/src/libCgl.la \
101        $(OSIOBJDIR)/src/OsiClp/libOsiClp.la \
102        $(OSIOBJDIR)/src/libOsi.la \
103        $(CLPOBJDIR)/src/libClp.la \
104        $(COINUTILSOBJDIR)/src/libCoinUtils.la
105
106# Finally, the -rpath flag is used by libtool to make sure that the shared
107# library is found (in the lib install directory) when we are using dynamic
108# libraries.
109cbc_LDFLAGS = -rpath $(libdir)
110
111# Add locations of include files.
112
113AM_CPPFLAGS += -I`$(CYGPATH_W) $(CLPSRCDIR)/src` \
114        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiClp` \
115        -I`$(CYGPATH_W) $(CLPOBJDIR)/inc`
116LIBS  += `cat $(CLPOBJDIR)/clp_addlibs.txt`
117
118# If we have the Ampl solver library, we need to add additional things
119if COIN_HAS_ASL
120#cbc_SOURCES += Cbc_ampl.cpp Cbc_ampl.h
121cbc_LDADD += $(ASLLIB)
122AM_CPPFLAGS += $(ASL_CPPFLAGS) -DCOIN_HAS_ASL
123endif
124
125endif
126
127
128########################################################################
129#                        cbc-generic program                           #
130########################################################################
131
132if CBC_BUILD_CBC_GENERIC
133
134# Name of the executable compiled in this directory.  We want it to be
135# installed in the 'bin' directory
136
137bin_PROGRAMS += cbc-generic
138
139# List all source files for this executable, including headers
140
141cbc_generic_SOURCES = \
142        CbcGenBaB.cpp \
143        CbcGenCbcParam.cpp CbcGenCbcParam.hpp CbcGenCbcParamUtils.cpp \
144        CbcGenCtlBlk.cpp CbcGenCtlBlk.hpp \
145        CbcGeneric.cpp \
146        CbcGenMessages.cpp CbcGenMessages.hpp \
147        CbcGenOsiParam.cpp CbcGenOsiParam.hpp CbcGenOsiParamUtils.cpp \
148        CbcGenParam.cpp CbcGenParam.hpp CbcGenParamUtils.cpp \
149        CbcGenSolution.cpp \
150        CbcGenSolvers.cpp
151
152cbc_generic_LDADD = libCbcSolver.la \
153        libCbc.la \
154        $(CGLOBJDIR)/src/libCgl.la
155
156# List all additionally required solver and Osi libraries
157
158if COIN_HAS_CLP
159  AM_CPPFLAGS += -I`$(CYGPATH_W) $(CLPSRCDIR)/src` \
160        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiClp` \
161        -I`$(CYGPATH_W) $(CLPOBJDIR)/inc`
162  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiClp/libOsiClp.la \
163        $(CLPOBJDIR)/src/libClp.la
164  LIBS  += `cat $(CLPOBJDIR)/clp_addlibs.txt`
165endif
166
167if COIN_HAS_CPX
168  AM_CPPFLAGS += -I`$(CYGPATH_W) $(CPXINCDIR)` \
169        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiCpx`
170  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiCpx/libOsiCpx.la
171endif
172
173if COIN_HAS_DYLP
174  AM_CPPFLAGS += -I`$(CYGPATH_W) $(DYLPSRCDIR)/src/DylpStdLib` \
175        -I`$(CYGPATH_W) $(DYLPSRCDIR)/src/Dylp` \
176        -I`$(CYGPATH_W) $(DYLPOBJDIR)/inc` \
177        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiDylp`
178  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiDylp/libOsiDylp.la \
179        $(DYLPOBJDIR)/src/Dylp/libDylp.la
180  LIBS += `cat $(DYLPOBJDIR)/dylp_addlibs.txt`
181endif
182
183if COIN_HAS_FMP
184  AM_CPPFLAGS += -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiFmp`
185  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiFmp/libOsiFmp.la
186endif
187
188if COIN_HAS_GLPK
189  AM_CPPFLAGS += -I`$(CYGPATH_W) $(GLPKINCDIR)` \
190        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiGlpk`
191  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiGlpk/libOsiGlpk.la
192endif
193
194if COIN_HAS_MSK
195  AM_CPPFLAGS += -I`$(CYGPATH_W) $(MSKINCDIR)` \
196        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiMsk`
197  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiMsk/libOsiMsk.la
198endif
199
200if COIN_HAS_OSL
201  AM_CPPFLAGS += -I`$(CYGPATH_W) $(OSLINCDIR)` \
202        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiOsl`
203  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiOsl/libOsiOsl.la
204endif
205
206if COIN_HAS_SPX
207  AM_CPPFLAGS += -I`$(CYGPATH_W) $(SPXINCDIR)` \
208        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiSpx`
209  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiSpx/libOsiSpx.la
210endif
211
212if COIN_HAS_SYMPHONY
213  AM_CPPFLAGS += -I`$(CYGPATH_W) $(SYMPHONYSRCDIR)/src` \
214        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiSym`
215  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiSym/libOsiSym.la \
216        $(SYMPHONYOBJDIR)/src/libSym.la
217  LIBS += `cat $(SYMPHONYOBJDIR)/sym_addlibs.txt`
218endif
219
220if COIN_HAS_VOL
221  AM_CPPFLAGS += -I`$(CYGPATH_W) $(VOLSRCDIR)/src` \
222        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiVol`
223  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiVol/libOsiVol.la \
224        $(VOLOBJDIR)/src/libVol.la
225  LIBS += `cat $(VOLOBJDIR)/vol_addlibs.txt`
226endif
227
228if COIN_HAS_XPR
229  AM_CPPFLAGS += -I`$(CYGPATH_W) $(XPRINCDIR)` \
230        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiXpr`
231  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiXpr/libOsiXpr.la
232endif
233
234if COIN_HAS_ASL
235  cbc_generic_LDADD += $(ASLLIB)
236  AM_CPPFLAGS += $(ASL_CPPFLAGS) -DCOIN_HAS_ASL
237endif
238
239# Finally the Osi Coin library (many of the above need it)
240cbc_generic_LDADD += $(OSIOBJDIR)/src/libOsi.la \
241        $(COINUTILSOBJDIR)/src/libCoinUtils.la
242
243# Finally, the -rpath flag is used by libtool to make sure that the shared
244# library is found (in the lib install directory) when we are using dynamic
245# libraries.
246
247cbc_generic_LDFLAGS = -rpath $(libdir)
248
249endif
250
251########################################################################
252#                            Additional flags                          #
253########################################################################
254
255# Here list all include flags, relative to this "srcdir" directory.  This
256# "cygpath" stuff is necessary to compile with native compilers on Windows.
257# "top_srcdir" refers to the basic directory for the main package that is
258# being compiled.
259AM_CPPFLAGS += \
260        -I`$(CYGPATH_W) $(CGLSRCDIR)/src` \
261        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglClique` \
262        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglDuplicateRow` \
263        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglFlowCover` \
264        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglGomory` \
265        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglKnapsackCover` \
266        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglMixedIntegerRounding` \
267        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglMixedIntegerRounding2` \
268        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglOddHole` \
269        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglPreProcess` \
270        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglProbing` \
271        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglRedSplit` \
272        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglTwomir` \
273        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglLandP` \
274        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglResidualCapacity` \
275        -I`$(CYGPATH_W) $(COINUTILSSRCDIR)/src` \
276        -I`$(CYGPATH_W) $(COINUTILSOBJDIR)/inc` \
277        -I`$(CYGPATH_W) $(OSISRCDIR)/src` \
278        -I`$(CYGPATH_W) $(OSIOBJDIR)/inc`
279
280# List additional defines
281AM_CPPFLAGS += -DCOIN_NO_CLP_MESSAGE -DUSE_CBCCONFIG
282
283# This line is necessary to allow VPATH compilation with MS compilers
284# on Cygwin
285DEFAULT_INCLUDES = -I. -I`$(CYGPATH_W) $(srcdir)` -I$(top_builddir)/inc
286
287########################################################################
288#                Headers that need to be installed                     #
289########################################################################
290
291# Here list all the header files that are required by a user of the library,
292# and that therefore should be installed in 'install/coin'
293includecoindir = $(includedir)/coin
294includecoin_HEADERS = \
295        ../inc/config_cbc.h \
296        Cbc_C_Interface.h \
297        CbcBranchActual.hpp \
298        CbcBranchBase.hpp \
299        CbcBranchDynamic.hpp \
300        CbcBranchLotsize.hpp \
301        CbcBranchCut.hpp \
302        CbcCompareActual.hpp \
303        CbcCompareBase.hpp \
304        CbcCutGenerator.hpp \
305        CbcFathom.hpp \
306        CbcEventHandler.hpp \
307        CbcFeasibilityBase.hpp \
308        CbcHeuristic.hpp \
309        CbcHeuristicDiveCoefficient.hpp \
310        CbcHeuristicDiveFractional.hpp \
311        CbcHeuristicDiveGuided.hpp \
312        CbcHeuristicDiveVectorLength.hpp \
313        CbcHeuristicFPump.hpp \
314        CbcHeuristicGreedy.hpp \
315        CbcHeuristicLocal.hpp \
316        CbcHeuristicRINS.hpp \
317        CbcMessage.hpp \
318        CbcModel.hpp \
319        CbcNode.hpp \
320        CbcStrategy.hpp \
321        CbcSolver.hpp \
322        CbcTree.hpp \
323        CbcLinked.hpp \
324        CbcTreeLocal.hpp \
325        ClpConstraintAmpl.hpp \
326        ClpAmplObjective.hpp
327
328#############################################################################
329# Create the Config.h file that always defines HAVE_CONFIG_H and install it #
330#############################################################################
331
332# You only need to adapt the following line
333ConfigHeader = CbcConfig.h
334
335install-exec-local:
336        echo "#ifndef HAVE_CONFIG_H" >bla
337        echo "#define HAVE_CONFIG_H" >>bla
338        echo "#endif" >> bla
339        cat $(srcdir)/$(ConfigHeader) >> bla
340        $(install_sh_DATA) bla $(DESTDIR)$(includecoindir)/$(ConfigHeader)
341        rm -f bla
342
343uninstall-local:
344        rm -f $(DESTDIR)$(includecoindir)/$(ConfigHeader)
Note: See TracBrowser for help on using the repository browser.