source: branches/sandbox/Cbc/src/Makefile.am @ 1314

Last change on this file since 1314 was 1314, checked in by EdwinStraver, 10 years ago

Broke up CbcCompareActual?.cpp into CbcCompareDepth?, CbcCompareDefault?, CbcCompareObjective? and CbcCompareEstimate?.
Carved CbcCutModifier? and CbcCutSubsetModifier? out of CbcCutGenerator?.
Updated spreadsheets.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 14.8 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 1314 2009-11-25 17:58:07Z EdwinStraver $
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.hpp \
24        CbcBranchAllDifferent.cpp CbcBranchAllDifferent.hpp \
25        CbcBranchBase.hpp \
26        CbcBranchCut.cpp CbcBranchCut.hpp \
27        CbcBranchDecision.cpp CbcBranchDecision.hpp \
28        CbcBranchDefaultDecision.cpp CbcBranchDefaultDecision.hpp \
29        CbcBranchDynamic.cpp CbcBranchDynamic.hpp \
30        CbcBranchingObject.cpp CbcBranchingObject.hpp \
31        CbcBranchLotsize.cpp CbcBranchLotsize.hpp \
32        CbcBranchToFixLots.cpp CbcBranchToFixLots.hpp \
33        CbcCompareActual.hpp \
34        CbcCompareBase.hpp \
35        CbcCompareDefault.cpp CbcCompareDefault.hpp \
36        CbcCompareDepth.cpp CbcCompareDepth.hpp \
37        CbcCompareEstimate.cpp CbcCompareEstimate.hpp \
38        CbcCompareObjective.cpp CbcCompareObjective.hpp \
39        CbcConsequence.cpp CbcConsequence.hpp \
40        CbcChooseVariable.hpp \
41        CbcClique.cpp CbcClique.hpp \
42        CbcCliqueBranchingObject.cpp CbcCliqueBranchingObject.hpp \
43        CbcLongCliqueBranchingObject.cpp CbcLongCliqueBranchingObject.hpp \
44        CbcCompare.hpp \
45        CbcCountRowCut.cpp CbcCountRowCut.hpp \
46        CbcCutBranchingObject.cpp CbcCutBranchingObject.hpp \
47        CbcCutGenerator.cpp CbcCutGenerator.hpp \
48        CbcCutModifier.cpp CbcCutModifier.hpp \
49        CbcCutSubsetModifier.cpp CbcCutSubsetModifier.hpp \
50        CbcDummyBranchingObject.cpp CbcDummyBranchingObject.hpp \
51        CbcDynamicPseudoCostBranchingObject.cpp CbcDynamicPseudoCostBranchingObject.hpp \
52        CbcEventHandler.cpp CbcEventHandler.hpp \
53        CbcFathom.cpp CbcFathom.hpp \
54        CbcFathomDynamicProgramming.cpp CbcFathomDynamicProgramming.hpp \
55        CbcFeasibilityBase.hpp \
56        CbcFixingBranchingObject.cpp CbcFixingBranchingObject.hpp \
57        CbcFixVariable.cpp CbcFixVariable.hpp \
58        CbcFullNodeInfo.cpp CbcFullNodeInfo.hpp \
59        CbcFollowOn.cpp CbcFollowOn.hpp \
60        CbcGeneral.cpp CbcGeneral.hpp \
61        CbcGeneralBranchingObject.cpp CbcGeneralBranchingObject.hpp \
62        CbcGeneralDepth.cpp CbcGeneralDepth.hpp \
63        CbcHeuristic.cpp CbcHeuristic.hpp \
64        CbcHeuristicDive.cpp CbcHeuristicDive.hpp \
65        CbcHeuristicDiveCoefficient.cpp CbcHeuristicDiveCoefficient.hpp \
66        CbcHeuristicDiveFractional.cpp CbcHeuristicDiveFractional.hpp \
67        CbcHeuristicDiveGuided.cpp CbcHeuristicDiveGuided.hpp \
68        CbcHeuristicDiveLineSearch.cpp CbcHeuristicDiveLineSearch.hpp \
69        CbcHeuristicDivePseudoCost.cpp CbcHeuristicDivePseudoCost.hpp \
70        CbcHeuristicDiveVectorLength.cpp CbcHeuristicDiveLength.hpp \
71        CbcHeuristicFPump.cpp CbcHeuristicFPump.hpp \
72        CbcHeuristicGreedy.cpp CbcHeuristicGreedy.hpp \
73        CbcHeuristicLocal.cpp CbcHeuristicLocal.hpp \
74        CbcHeuristicPivotAndFix.cpp CbcHeuristicPivotAndFix.hpp \
75        CbcHeuristicRandRound.cpp CbcHeuristicRandRound.hpp \
76        CbcHeuristicRINS.cpp CbcHeuristicRINS.hpp \
77        CbcIntegerBranchingObject.cpp CbcIntegerBranchingObject.hpp \
78        CbcIntegerPseudoCostBranchingObject.cpp \
79        CbcIntegerPseudoCostBranchingObject.hpp \
80        CbcLotsize.cpp CbcLotsize.hpp \
81        CbcMessage.cpp CbcMessage.hpp \
82        CbcModel.cpp CbcModel.hpp \
83        CbcNode.cpp CbcNode.hpp \
84        CbcNodeInfo.cpp CbcNodeInfo.hpp \
85        CbcNWay.cpp CbcNWay.hpp \
86        CbcNWayBranchingObject.cpp CbcNWayBranchingObject.hpp \
87        CbcObject.cpp CbcObject.hpp \
88        CbcObjectUpdateData.cpp CbcObjectUpdateData.hpp \
89        CbcOneGeneralBranchingObject.cpp CbcOneGeneralBranchingObject.hpp \
90        CbcPartialNodeInfo.cpp CbcPartialNodeInfo.hpp \
91        CbcSimpleInteger.cpp CbcSimpleInteger.hpp \
92        CbcSimpleIntegerDynamicPseudoCost.cpp CbcSimpleIntegerDynamicPseudoCost.hpp \
93        CbcSimpleIntegerPseudoCost.cpp CbcSimpleIntegerPseudoCost.hpp \
94        CbcSOS.cpp CbcSOS.hpp \
95        CbcSOSBranchingObject.cpp CbcSOSBranchingObject.hpp \
96        CbcStatistics.cpp CbcStatistics.hpp \
97        CbcStrategy.cpp CbcStrategy.hpp \
98        CbcSubProblem.cpp CbcSubProblem.hpp \
99        CbcTree.cpp CbcTree.hpp \
100        CbcTreeLocal.cpp CbcTreeLocal.hpp
101
102libCbcSolver_la_SOURCES = \
103        CbcCbcParam.cpp \
104        Cbc_ampl.cpp Cbc_ampl.h \
105        ClpConstraintAmpl.hpp ClpAmplObjective.hpp ClpAmplStuff.cpp \
106        CbcLinked.cpp CbcLinked.hpp \
107        unitTestClp.cpp CbcSolver.cpp
108
109#Stefan: added unitTestClp.cpp because CbcSolver defines reference to it
110
111## If we have the Ampl solver library, we need to add additional things
112## also see lower down
113## new idea is to add in source code anyway
114##libCbc_la_SOURCES += Cbc_ampl.cpp Cbc_ampl.h
115
116
117# This is for libtool (on Windows)
118
119libCbc_la_LDFLAGS = $(LT_LDFLAGS)
120libCbcSolver_la_LDFLAGS = $(LT_LDFLAGS)
121
122# Some common setup for cbc and cbc-generic.
123
124bin_PROGRAMS =
125AM_CPPFLAGS =
126
127LIBS += `cat $(CGLOBJDIR)/cgl_addlibs.txt` \
128        `cat $(OSIOBJDIR)/osi_addlibs.txt` \
129        `cat $(COINUTILSOBJDIR)/coinutils_addlibs.txt` $(ADDLIBS)
130
131
132########################################################################
133#                            cbc program                               #
134########################################################################
135
136if COIN_HAS_CLP
137
138# Name of the executable compiled in this directory.  We want it to be
139# installed in the 'bin' directory
140bin_PROGRAMS += cbc
141
142# List all source files for this executable, including headers
143cbc_SOURCES = \
144        CoinSolve.cpp
145
146# Additional COIN libraries
147cbc_LDADD = libCbcSolver.la \
148        libCbc.la \
149        $(CGLOBJDIR)/src/libCgl.la \
150        $(OSIOBJDIR)/src/OsiClp/libOsiClp.la \
151        $(OSIOBJDIR)/src/libOsi.la \
152        $(CLPOBJDIR)/src/libClp.la \
153        $(COINUTILSOBJDIR)/src/libCoinUtils.la
154
155# Finally, the -rpath flag is used by libtool to make sure that the shared
156# library is found (in the lib install directory) when we are using dynamic
157# libraries.
158cbc_LDFLAGS = -rpath $(libdir)
159
160# Add locations of include files.
161
162AM_CPPFLAGS += -I`$(CYGPATH_W) $(CLPSRCDIR)/src` \
163        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiClp` \
164        -I`$(CYGPATH_W) $(CLPOBJDIR)/inc`
165LIBS  += `cat $(CLPOBJDIR)/clp_addlibs.txt`
166
167if COIN_HAS_CPX
168  AM_CPPFLAGS += -I`$(CYGPATH_W) $(CPXINCDIR)` \
169        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiCpx`
170  cbc_LDADD += $(OSIOBJDIR)/src/OsiCpx/libOsiCpx.la
171endif
172
173# If we have the Ampl solver library, we need to add additional things
174if COIN_HAS_ASL
175#cbc_SOURCES += Cbc_ampl.cpp Cbc_ampl.h
176cbc_LDADD += $(ASLLIB)
177AM_CPPFLAGS += $(ASL_CPPFLAGS) -DCOIN_HAS_ASL
178endif
179
180endif
181
182
183########################################################################
184#                        cbc-generic program                           #
185########################################################################
186
187if CBC_BUILD_CBC_GENERIC
188
189# Name of the executable compiled in this directory.  We want it to be
190# installed in the 'bin' directory
191
192bin_PROGRAMS += cbc-generic
193
194# List all source files for this executable, including headers
195
196cbc_generic_SOURCES = \
197        CbcGenBaB.cpp \
198        CbcGenCbcParam.cpp CbcGenCbcParam.hpp CbcGenCbcParamUtils.cpp \
199        CbcGenCtlBlk.cpp CbcGenCtlBlk.hpp \
200        CbcGeneric.cpp \
201        CbcGenMessages.cpp CbcGenMessages.hpp \
202        CbcGenOsiParam.cpp CbcGenOsiParam.hpp CbcGenOsiParamUtils.cpp \
203        CbcGenParam.cpp CbcGenParam.hpp CbcGenParamUtils.cpp \
204        CbcGenSolution.cpp \
205        CbcGenSolvers.cpp
206
207cbc_generic_LDADD = libCbcSolver.la \
208        libCbc.la \
209        $(CGLOBJDIR)/src/libCgl.la
210
211# List all additionally required solver and Osi libraries
212
213if COIN_HAS_CLP
214  AM_CPPFLAGS += -I`$(CYGPATH_W) $(CLPSRCDIR)/src` \
215        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiClp` \
216        -I`$(CYGPATH_W) $(CLPOBJDIR)/inc`
217  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiClp/libOsiClp.la \
218        $(CLPOBJDIR)/src/libClp.la
219  LIBS  += `cat $(CLPOBJDIR)/clp_addlibs.txt`
220endif
221
222if COIN_HAS_CPX
223  AM_CPPFLAGS += -I`$(CYGPATH_W) $(CPXINCDIR)` \
224        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiCpx`
225  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiCpx/libOsiCpx.la
226endif
227
228if COIN_HAS_DYLP
229  AM_CPPFLAGS += -I`$(CYGPATH_W) $(DYLPSRCDIR)/src/DylpStdLib` \
230        -I`$(CYGPATH_W) $(DYLPSRCDIR)/src/Dylp` \
231        -I`$(CYGPATH_W) $(DYLPOBJDIR)/inc` \
232        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiDylp`
233  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiDylp/libOsiDylp.la \
234        $(DYLPOBJDIR)/src/Dylp/libDylp.la
235  LIBS += `cat $(DYLPOBJDIR)/dylp_addlibs.txt`
236endif
237
238if COIN_HAS_FMP
239  AM_CPPFLAGS += -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiFmp`
240  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiFmp/libOsiFmp.la
241endif
242
243if COIN_HAS_GLPK
244  AM_CPPFLAGS += -I`$(CYGPATH_W) $(GLPKINCDIR)` \
245        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiGlpk`
246  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiGlpk/libOsiGlpk.la
247endif
248
249if COIN_HAS_MSK
250  AM_CPPFLAGS += -I`$(CYGPATH_W) $(MSKINCDIR)` \
251        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiMsk`
252  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiMsk/libOsiMsk.la
253endif
254
255if COIN_HAS_OSL
256  AM_CPPFLAGS += -I`$(CYGPATH_W) $(OSLINCDIR)` \
257        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiOsl`
258  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiOsl/libOsiOsl.la
259endif
260
261if COIN_HAS_SPX
262  AM_CPPFLAGS += -I`$(CYGPATH_W) $(SPXINCDIR)` \
263        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiSpx`
264  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiSpx/libOsiSpx.la
265endif
266
267if COIN_HAS_SYMPHONY
268  AM_CPPFLAGS += -I`$(CYGPATH_W) $(SYMPHONYSRCDIR)/src` \
269        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiSym`
270  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiSym/libOsiSym.la \
271        $(SYMPHONYOBJDIR)/src/libSym.la
272  LIBS += `cat $(SYMPHONYOBJDIR)/sym_addlibs.txt`
273endif
274
275if COIN_HAS_VOL
276  AM_CPPFLAGS += -I`$(CYGPATH_W) $(VOLSRCDIR)/src` \
277        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiVol`
278  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiVol/libOsiVol.la \
279        $(VOLOBJDIR)/src/libVol.la
280  LIBS += `cat $(VOLOBJDIR)/vol_addlibs.txt`
281endif
282
283if COIN_HAS_XPR
284  AM_CPPFLAGS += -I`$(CYGPATH_W) $(XPRINCDIR)` \
285        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiXpr`
286  cbc_generic_LDADD += $(OSIOBJDIR)/src/OsiXpr/libOsiXpr.la
287endif
288
289if COIN_HAS_ASL
290  cbc_generic_LDADD += $(ASLLIB)
291  AM_CPPFLAGS += $(ASL_CPPFLAGS) -DCOIN_HAS_ASL
292endif
293
294# Finally the Osi Coin library (many of the above need it)
295cbc_generic_LDADD += $(OSIOBJDIR)/src/libOsi.la \
296        $(COINUTILSOBJDIR)/src/libCoinUtils.la
297
298# Finally, the -rpath flag is used by libtool to make sure that the shared
299# library is found (in the lib install directory) when we are using dynamic
300# libraries.
301
302cbc_generic_LDFLAGS = -rpath $(libdir)
303
304endif
305
306########################################################################
307#                            Additional flags                          #
308########################################################################
309
310# Here list all include flags, relative to this "srcdir" directory.  This
311# "cygpath" stuff is necessary to compile with native compilers on Windows.
312# "top_srcdir" refers to the basic directory for the main package that is
313# being compiled.
314AM_CPPFLAGS += \
315        -I`$(CYGPATH_W) $(CGLSRCDIR)/src` \
316        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglClique` \
317        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglDuplicateRow` \
318        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglFlowCover` \
319        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglGomory` \
320        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglKnapsackCover` \
321        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglMixedIntegerRounding` \
322        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglMixedIntegerRounding2` \
323        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglOddHole` \
324        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglPreProcess` \
325        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglProbing` \
326        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglRedSplit` \
327        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglTwomir` \
328        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglLandP` \
329        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglResidualCapacity` \
330        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglZeroHalf` \
331        -I`$(CYGPATH_W) $(COINUTILSSRCDIR)/src` \
332        -I`$(CYGPATH_W) $(COINUTILSOBJDIR)/inc` \
333        -I`$(CYGPATH_W) $(OSISRCDIR)/src` \
334        -I`$(CYGPATH_W) $(OSIOBJDIR)/inc`
335
336# List additional defines
337AM_CPPFLAGS += -DCOIN_NO_CLP_MESSAGE -DUSE_CBCCONFIG
338
339# This line is necessary to allow VPATH compilation with MS compilers
340# on Cygwin
341DEFAULT_INCLUDES = -I. -I`$(CYGPATH_W) $(srcdir)` -I$(top_builddir)/inc
342
343########################################################################
344#                Headers that need to be installed                     #
345########################################################################
346
347# Here list all the header files that are required by a user of the library,
348# and that therefore should be installed in 'install/coin'
349includecoindir = $(includedir)/coin
350includecoin_HEADERS = \
351        ../inc/config_cbc.h \
352        Cbc_C_Interface.h \
353        CbcBranchActual.hpp \
354        CbcBranchAllDifferent.hpp \
355        CbcBranchBase.hpp \
356        CbcBranchDynamic.hpp \
357        CbcBranchLotsize.hpp \
358        CbcBranchCut.hpp \
359        CbcBranchDecision.hpp \
360        CbcBranchDefaultDecision.hpp \
361        CbcBranchingObject.hpp \
362        CbcBranchToFixLots.hpp \
363        CbcCompareActual.hpp \
364        CbcCompareDefault.hpp \
365        CbcCompareDepth.hpp \
366        CbcCompareEstimate.hpp \
367        CbcCompareObjective.hpp \
368        CbcConsequence.hpp \
369        CbcChooseVariable.hpp \
370        CbcClique.hpp \
371        CbcCliqueBranchingObject.hpp \
372        CbcCompare.hpp \
373        CbcCutBranchingObject.hpp \
374        CbcCutGenerator.hpp \
375        CbcCutModifier.hpp \
376        CbcCutSubsetModifier.hpp \
377        CbcDummyBranchingObject.hpp \
378        CbcDynamicPseudoCostBranchingObject.hpp \
379        CbcFathom.hpp \
380        CbcEventHandler.hpp \
381        CbcFeasibilityBase.hpp \
382        CbcFixingBranchingObject.hpp \
383        CbcFixVariable.hpp \
384        CbcFollowOn.hpp \
385        CbcFullNodeInfo.hpp \
386        CbcGeneral.hpp \
387        CbcGeneralBranchingObject.hpp \
388        CbcGeneralDepth.hpp \
389        CbcHeuristic.hpp \
390        CbcHeuristicDive.hpp \
391        CbcHeuristicDiveCoefficient.hpp \
392        CbcHeuristicDiveFractional.hpp \
393        CbcHeuristicDiveGuided.hpp \
394        CbcHeuristicDiveLineSearch.hpp \
395        CbcHeuristicDivePseudoCost.hpp \
396        CbcHeuristicDiveVectorLength.hpp \
397        CbcHeuristicFPump.hpp \
398        CbcHeuristicGreedy.hpp \
399        CbcHeuristicLocal.hpp \
400        CbcHeuristicPivotAndFix.hpp \
401        CbcHeuristicRandRound.hpp \
402        CbcHeuristicRINS.hpp \
403        CbcIntegerBranchingObject.hpp \
404        CbcIntegerPseudoCostBranchingObject.hpp \
405        CbcLongCliqueBranchingObject.hpp \
406        CbcLotsize.hpp \
407        CbcMessage.hpp \
408        CbcModel.hpp \
409        CbcNode.hpp \
410        CbcNodeInfo.hpp \
411        CbcNWay.hpp \
412        CbcNWayBranchingObject.hpp \
413        CbcObject.hpp \
414        CbcObjectUpdateData.hpp \
415        CbcOneGeneralBranchingObject.hpp \
416        CbcPartialNodeInfo.hpp \
417        CbcSimpleInteger.hpp \
418        CbcSimpleIntegerDynamicPseudoCost.hpp \
419        CbcSimpleIntegerPseudoCost.hpp \
420        CbcStrategy.hpp \
421        CbcSolver.hpp \
422        CbcSOS.hpp \
423        CbcSOSBranchingObject.hpp \
424        CbcSubProblem.hpp \
425        CbcTree.hpp \
426        CbcLinked.hpp \
427        CbcTreeLocal.hpp \
428        ClpConstraintAmpl.hpp \
429        ClpAmplObjective.hpp
430
431#############################################################################
432# Create the Config.h file that always defines HAVE_CONFIG_H and install it #
433#############################################################################
434
435# You only need to adapt the following line
436ConfigHeader = CbcConfig.h
437
438install-exec-local:
439        echo "#ifndef HAVE_CONFIG_H" >bla
440        echo "#define HAVE_CONFIG_H" >>bla
441        echo "#endif" >> bla
442        cat $(srcdir)/$(ConfigHeader) >> bla
443        $(install_sh_DATA) bla $(DESTDIR)$(includecoindir)/$(ConfigHeader)
444        rm -f bla
445
446uninstall-local:
447        rm -f $(DESTDIR)$(includecoindir)/$(ConfigHeader)
Note: See TracBrowser for help on using the repository browser.