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

Last change on this file since 1350 was 1350, checked in by EdwinStraver, 11 years ago

Combined CbcSOS with CbcSOSBranchingObject
Combined CbcNWay with CbcNWayBranchingObject
Combined CbcFollowOn? with CbcFixingBranchingObject?

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