source: trunk/Cbc/src/Makefile.am @ 1531

Last change on this file since 1531 was 1531, checked in by tkr, 9 years ago

Merging r1530 from stable/2.6

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 9.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 1531 2010-11-13 19:04:20Z tkr $
6
7# Author:  Andreas Waechter           IBM    2006-04-13
8
9AUTOMAKE_OPTIONS = foreign
10
11SUBDIRS = OsiCbc
12
13########################################################################
14#                               libCbc                                 #
15########################################################################
16
17# Name of the library compiled in this directory.  We want it to be installed
18# in the 'lib' directory
19coinlibdir = ${libdir}/coin
20coinlib_LTLIBRARIES = libCbc.la libCbcSolver.la
21
22# List all source files for this library, including headers
23libCbc_la_SOURCES = \
24        Cbc_C_Interface.cpp Cbc_C_Interface.h \
25        CbcConfig.h \
26        CbcBranchActual.hpp \
27        CbcBranchAllDifferent.cpp CbcBranchAllDifferent.hpp \
28        CbcBranchBase.hpp \
29        CbcBranchCut.cpp CbcBranchCut.hpp \
30        CbcBranchDecision.cpp CbcBranchDecision.hpp \
31        CbcBranchDefaultDecision.cpp CbcBranchDefaultDecision.hpp \
32        CbcBranchDynamic.cpp CbcBranchDynamic.hpp \
33        CbcBranchingObject.cpp CbcBranchingObject.hpp \
34        CbcBranchLotsize.cpp CbcBranchLotsize.hpp \
35        CbcBranchToFixLots.cpp CbcBranchToFixLots.hpp \
36        CbcCompareActual.hpp \
37        CbcCompareBase.hpp \
38        CbcCompareDefault.cpp CbcCompareDefault.hpp \
39        CbcCompareDepth.cpp CbcCompareDepth.hpp \
40        CbcCompareEstimate.cpp CbcCompareEstimate.hpp \
41        CbcCompareObjective.cpp CbcCompareObjective.hpp \
42        CbcConsequence.cpp CbcConsequence.hpp \
43        CbcChooseVariable.hpp \
44        CbcClique.cpp CbcClique.hpp \
45        CbcCompare.hpp \
46        CbcCountRowCut.cpp CbcCountRowCut.hpp \
47        CbcCutGenerator.cpp CbcCutGenerator.hpp \
48        CbcCutModifier.cpp CbcCutModifier.hpp \
49        CbcCutSubsetModifier.cpp CbcCutSubsetModifier.hpp \
50        CbcDummyBranchingObject.cpp CbcDummyBranchingObject.hpp \
51        CbcEventHandler.cpp CbcEventHandler.hpp \
52        CbcFathom.cpp CbcFathom.hpp \
53        CbcFathomDynamicProgramming.cpp CbcFathomDynamicProgramming.hpp \
54        CbcFeasibilityBase.hpp \
55        CbcFixVariable.cpp CbcFixVariable.hpp \
56        CbcFullNodeInfo.cpp CbcFullNodeInfo.hpp \
57        CbcFollowOn.cpp CbcFollowOn.hpp \
58        CbcGeneral.cpp CbcGeneral.hpp \
59        CbcGeneralDepth.cpp CbcGeneralDepth.hpp \
60        CbcHeuristic.cpp CbcHeuristic.hpp \
61        CbcHeuristicDINS.cpp CbcHeuristicDINS.hpp \
62        CbcHeuristicDive.cpp CbcHeuristicDive.hpp \
63        CbcHeuristicDiveCoefficient.cpp CbcHeuristicDiveCoefficient.hpp \
64        CbcHeuristicDiveFractional.cpp CbcHeuristicDiveFractional.hpp \
65        CbcHeuristicDiveGuided.cpp CbcHeuristicDiveGuided.hpp \
66        CbcHeuristicDiveLineSearch.cpp CbcHeuristicDiveLineSearch.hpp \
67        CbcHeuristicDivePseudoCost.cpp CbcHeuristicDivePseudoCost.hpp \
68        CbcHeuristicDiveVectorLength.cpp CbcHeuristicDiveLength.hpp \
69        CbcHeuristicFPump.cpp CbcHeuristicFPump.hpp \
70        CbcHeuristicGreedy.cpp CbcHeuristicGreedy.hpp \
71        CbcHeuristicLocal.cpp CbcHeuristicLocal.hpp \
72        CbcHeuristicPivotAndFix.cpp CbcHeuristicPivotAndFix.hpp \
73        CbcHeuristicRandRound.cpp CbcHeuristicRandRound.hpp \
74        CbcHeuristicRENS.cpp CbcHeuristicRENS.hpp \
75        CbcHeuristicRINS.cpp CbcHeuristicRINS.hpp \
76        CbcHeuristicVND.cpp CbcHeuristicVND.hpp \
77        CbcMessage.cpp CbcMessage.hpp \
78        CbcModel.cpp CbcModel.hpp \
79        CbcNode.cpp CbcNode.hpp \
80        CbcNodeInfo.cpp CbcNodeInfo.hpp \
81        CbcNWay.cpp CbcNWay.hpp \
82        CbcObject.cpp CbcObject.hpp \
83        CbcObjectUpdateData.cpp CbcObjectUpdateData.hpp \
84        CbcPartialNodeInfo.cpp CbcPartialNodeInfo.hpp \
85        CbcSimpleInteger.cpp CbcSimpleInteger.hpp \
86        CbcSimpleIntegerDynamicPseudoCost.cpp \
87        CbcSimpleIntegerDynamicPseudoCost.hpp \
88        CbcSimpleIntegerPseudoCost.cpp \
89        CbcSimpleIntegerPseudoCost.hpp \
90        CbcSOS.cpp CbcSOS.hpp \
91        CbcStatistics.cpp CbcStatistics.hpp \
92        CbcStrategy.cpp CbcStrategy.hpp \
93        CbcSubProblem.cpp CbcSubProblem.hpp \
94        CbcThread.cpp CbcThread.hpp \
95        CbcTree.cpp CbcTree.hpp \
96        CbcTreeLocal.cpp CbcTreeLocal.hpp
97
98libCbcSolver_la_SOURCES = \
99        CbcCbcParam.cpp \
100        Cbc_ampl.cpp Cbc_ampl.h \
101        CbcLinked.cpp CbcLinked.hpp CbcLinkedUtils.cpp \
102        unitTestClp.cpp CbcSolver.cpp \
103        CbcSolverHeuristics.cpp CbcSolverHeuristics.hpp \
104        CbcSolverAnalyze.cpp CbcSolverAnalyze.hpp \
105        CbcSolverExpandKnapsack.cpp CbcSolverExpandKnapsack.hpp
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#   ($(CPX_LIBS) should resolve in an empty string if there is no cplex)
114
115bin_PROGRAMS =
116AM_CPPFLAGS = $(COINDEPEND_CFLAGS) $(CLP_CFLAGS) $(CPX_CFLAGS)
117
118########################################################################
119#                            cbc program                               #
120########################################################################
121
122if COIN_HAS_CLP
123
124# Name of the executable compiled in this directory.  We want it to be
125# installed in the 'bin' directory
126bin_PROGRAMS += cbc
127
128# List all source files for this executable, including headers
129cbc_SOURCES = CoinSolve.cpp
130
131# Additional COIN libraries
132cbc_LDADD = libCbcSolver.la libCbc.la $(CBCLIB_LIBS)
133
134# Finally, the -rpath flag is used by libtool to make sure that the shared
135# library is found (in the lib install directory) when we are using dynamic
136# libraries.
137cbc_LDFLAGS = -rpath $(libdir)
138
139# Add locations of include files.
140
141if COIN_HAS_ASL
142  AM_CPPFLAGS += $(ASL_CFLAGS)
143  cbc_LDADD += $(ASL_LIBS)
144endif
145
146endif
147
148
149########################################################################
150#                        cbc-generic program                           #
151########################################################################
152
153if CBC_BUILD_CBC_GENERIC
154
155# Name of the executable compiled in this directory.  We want it to be
156# installed in the 'bin' directory
157
158bin_PROGRAMS += cbc-generic
159
160# List all source files for this executable, including headers
161
162cbc_generic_SOURCES = \
163        CbcGenBaB.cpp \
164        CbcGenCbcParam.cpp CbcGenCbcParam.hpp CbcGenCbcParamUtils.cpp \
165        CbcGenCtlBlk.cpp CbcGenCtlBlk.hpp \
166        CbcGeneric.cpp \
167        CbcGenMessages.cpp CbcGenMessages.hpp \
168        CbcGenOsiParam.cpp CbcGenOsiParam.hpp CbcGenOsiParamUtils.cpp \
169        CbcGenParam.cpp CbcGenParam.hpp CbcGenParamUtils.cpp \
170        CbcGenSolution.cpp \
171        CbcGenSolvers.cpp
172
173cbc_generic_LDADD = libCbcSolver.la libCbc.la $(CBCGENERIC_LIBS)
174
175# List all additionally required solver and Osi libraries
176# the linker flags for all available LP solvers should already be included in $CBCGENERIC_LIBS,
177# so just add compiler flags here (all we can think of)
178
179AM_CPPFLAGS += $(CLP_CFLAGS) $(CPX_CFLAGS) $(DYLP_CFLAGS) $(GLPK_CFLAGS) $(MSK_CFLAGS) $(SPX_CFLAGS) $(VOL_CFLAGS) $(XPR_CFLAGS)
180
181if COIN_HAS_ASL
182  AM_CPPFLAGS += $(ASL_CFLAGS)
183  cbc_generic_LDADD += $(ASL_LIBS)
184endif
185
186# Finally, the -rpath flag is used by libtool to make sure that the shared
187# library is found (in the lib install directory) when we are using dynamic
188# libraries.
189
190cbc_generic_LDFLAGS = -rpath $(libdir)
191
192endif
193
194########################################################################
195#                            Additional flags                          #
196########################################################################
197
198# List additional defines
199AM_CPPFLAGS += -DCOIN_NO_CLP_MESSAGE -DUSE_CBCCONFIG
200
201# This line is necessary to allow VPATH compilation with MS compilers
202# on Cygwin
203DEFAULT_INCLUDES = -I. -I`$(CYGPATH_W) $(srcdir)` -I$(top_builddir)/inc
204
205########################################################################
206#                Headers that need to be installed                     #
207########################################################################
208
209# Here list all the header files that are required by a user of the library,
210# and that therefore should be installed in 'install/coin'
211includecoindir = $(includedir)/coin
212includecoin_HEADERS = \
213        ../inc/config_cbc.h \
214        Cbc_C_Interface.h \
215        CbcBranchActual.hpp \
216        CbcBranchAllDifferent.hpp \
217        CbcBranchBase.hpp \
218        CbcBranchDynamic.hpp \
219        CbcBranchCut.hpp \
220        CbcBranchDecision.hpp \
221        CbcBranchDefaultDecision.hpp \
222        CbcBranchingObject.hpp \
223        CbcBranchLotsize.hpp \
224        CbcBranchToFixLots.hpp \
225        CbcCompareActual.hpp \
226        CbcCompareBase.hpp \
227        CbcCompareDefault.hpp \
228        CbcCompareDepth.hpp \
229        CbcCompareEstimate.hpp \
230        CbcCompareObjective.hpp \
231        CbcConsequence.hpp \
232        CbcChooseVariable.hpp \
233        CbcClique.hpp \
234        CbcCompare.hpp \
235        CbcCutGenerator.hpp \
236        CbcCutModifier.hpp \
237        CbcCutSubsetModifier.hpp \
238        CbcDummyBranchingObject.hpp \
239        CbcFathom.hpp \
240        CbcEventHandler.hpp \
241        CbcFeasibilityBase.hpp \
242        CbcFixVariable.hpp \
243        CbcFollowOn.hpp \
244        CbcFullNodeInfo.hpp \
245        CbcGeneral.hpp \
246        CbcGeneralDepth.hpp \
247        CbcHeuristic.hpp \
248        CbcHeuristicDINS.hpp \
249        CbcHeuristicDive.hpp \
250        CbcHeuristicDiveCoefficient.hpp \
251        CbcHeuristicDiveFractional.hpp \
252        CbcHeuristicDiveGuided.hpp \
253        CbcHeuristicDiveLineSearch.hpp \
254        CbcHeuristicDivePseudoCost.hpp \
255        CbcHeuristicDiveVectorLength.hpp \
256        CbcHeuristicFPump.hpp \
257        CbcHeuristicGreedy.hpp \
258        CbcHeuristicLocal.hpp \
259        CbcHeuristicPivotAndFix.hpp \
260        CbcHeuristicRandRound.hpp \
261        CbcHeuristicRENS.hpp \
262        CbcHeuristicRINS.hpp \
263        CbcHeuristicVND.hpp \
264        CbcMessage.hpp \
265        CbcModel.hpp \
266        CbcNode.hpp \
267        CbcNodeInfo.hpp \
268        CbcNWay.hpp \
269        CbcObject.hpp \
270        CbcObjectUpdateData.hpp \
271        CbcPartialNodeInfo.hpp \
272        CbcSimpleInteger.hpp \
273        CbcSimpleIntegerDynamicPseudoCost.hpp \
274        CbcSimpleIntegerPseudoCost.hpp \
275        CbcStrategy.hpp \
276        CbcSolver.hpp \
277        CbcSOS.hpp \
278        CbcSubProblem.hpp \
279        CbcTree.hpp \
280        CbcLinked.hpp \
281        CbcTreeLocal.hpp \
282        ClpConstraintAmpl.hpp \
283        ClpAmplObjective.hpp
284
285#############################################################################
286# Create the Config.h file that always defines HAVE_CONFIG_H and install it #
287#############################################################################
288
289# You only need to adapt the following line
290ConfigHeader = CbcConfig.h
291
292install-exec-local:
293        echo "#ifndef HAVE_CONFIG_H" >bla
294        echo "#define HAVE_CONFIG_H" >>bla
295        echo "#endif" >> bla
296        cat $(srcdir)/$(ConfigHeader) >> bla
297        $(install_sh_DATA) bla $(DESTDIR)$(includecoindir)/$(ConfigHeader)
298        rm -f bla
299
300uninstall-local:
301        rm -f $(DESTDIR)$(includecoindir)/$(ConfigHeader)
Note: See TracBrowser for help on using the repository browser.