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

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

Combined CbcBranchDynamic?.cpp with CbcDynamicPseudoCostBranchingObject?
Combined CbcBranchCut? with CbcCutBranchingObject?
Combined CbcLotsize? with CbcBranchLotsize?.cpp

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