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

Last change on this file since 1399 was 1399, checked in by bjarni, 10 years ago

Updated Makefile.am in sandbox adding CbcSolverExpandKnapsack?.cpp (and .hpp)

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