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

Last change on this file since 1464 was 1464, checked in by stefan, 9 years ago

merge split branch into trunk; fix some examples

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 10.3 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 1464 2010-06-07 12:27:42Z stefan $
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
98
99libCbcSolver_la_SOURCES = \
100        CbcCbcParam.cpp \
101        Cbc_ampl.cpp Cbc_ampl.h \
102        CbcLinked.cpp CbcLinked.hpp CbcLinkedUtils.cpp \
103        unitTestClp.cpp CbcSolver.cpp \
104        CbcSolverHeuristics.cpp CbcSolverHeuristics.hpp \
105        CbcSolverAnalyze.cpp CbcSolverAnalyze.hpp \
106        CbcSolverExpandKnapsack.cpp CbcSolverExpandKnapsack.hpp
107
108# This is for libtool (on Windows)
109
110libCbc_la_LDFLAGS = $(LT_LDFLAGS)
111libCbcSolver_la_LDFLAGS = $(LT_LDFLAGS)
112
113# Some common setup for cbc and cbc-generic.
114
115bin_PROGRAMS =
116AM_CPPFLAGS = $(COINDEPEND_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 $(COINDEPEND_LIBS) $(ADDLIBS)
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_CLP
142  AM_CPPFLAGS += $(CLP_CFLAGS)
143  cbc_LDADD += $(CLP_LIBS)
144endif
145
146if COIN_HAS_CPX
147  AM_CPPFLAGS += $(CPX_CFLAGS)
148  cbc_LDADD += $(CPX_LIBS)
149endif
150
151if COIN_HAS_ASL
152  AM_CPPFLAGS += $(ASL_CFLAGS)
153  cbc_LDADD += $(ASL_LIBS)
154endif
155
156endif
157
158
159########################################################################
160#                        cbc-generic program                           #
161########################################################################
162
163if CBC_BUILD_CBC_GENERIC
164
165# Name of the executable compiled in this directory.  We want it to be
166# installed in the 'bin' directory
167
168bin_PROGRAMS += cbc-generic
169
170# List all source files for this executable, including headers
171
172cbc_generic_SOURCES = \
173        CbcGenBaB.cpp \
174        CbcGenCbcParam.cpp CbcGenCbcParam.hpp CbcGenCbcParamUtils.cpp \
175        CbcGenCtlBlk.cpp CbcGenCtlBlk.hpp \
176        CbcGeneric.cpp \
177        CbcGenMessages.cpp CbcGenMessages.hpp \
178        CbcGenOsiParam.cpp CbcGenOsiParam.hpp CbcGenOsiParamUtils.cpp \
179        CbcGenParam.cpp CbcGenParam.hpp CbcGenParamUtils.cpp \
180        CbcGenSolution.cpp \
181        CbcGenSolvers.cpp
182
183cbc_generic_LDADD = libCbcSolver.la libCbc.la $(COINDEPEND_LIBS) $(ADDLIBS)
184
185# List all additionally required solver and Osi libraries
186
187if COIN_HAS_CLP
188  AM_CPPFLAGS += $(CLP_CFLAGS)
189  cbc_generic_LDADD += $(CLP_LIBS)
190endif
191
192if COIN_HAS_CPX
193  AM_CPPFLAGS += $(CPX_CFLAGS)
194  cbc_generic_LDADD += $(CPX_LIBS)
195endif
196
197if COIN_HAS_DYLP
198  AM_CPPFLAGS += $(DYLP_CFLAGS)
199  cbc_generic_LDADD += $(DYLP_LIBS)
200endif
201
202if COIN_HAS_GLPK
203  AM_CPPFLAGS += $(GLPK_CFLAGS)
204  cbc_generic_LDADD += $(GLPK_LIBS)
205endif
206
207if COIN_HAS_MSK
208  AM_CPPFLAGS += $(MSK_CFLAGS)
209  cbc_generic_LDADD += $(MSK_LIBS)
210endif
211
212# if COIN_HAS_SPX
213#   AM_CPPFLAGS += $(SPX_CFLAGS)
214#   cbc_generic_LDADD += $(SPX_LIBS)
215# endif
216
217if COIN_HAS_VOL
218  AM_CPPFLAGS += $(VOL_CFLAGS)
219  cbc_generic_LDADD += $(VOL_LIBS)
220endif
221
222if COIN_HAS_XPR
223  AM_CPPFLAGS += $(XPR_CFLAGS)
224  cbc_generic_LDADD += $(XPR_LIBS)
225endif
226
227if COIN_HAS_ASL
228  AM_CPPFLAGS += $(ASL_CFLAGS)
229  cbc_generic_LDADD += $(ASL_LIBS)
230endif
231
232# Finally, the -rpath flag is used by libtool to make sure that the shared
233# library is found (in the lib install directory) when we are using dynamic
234# libraries.
235
236cbc_generic_LDFLAGS = -rpath $(libdir)
237
238endif
239
240########################################################################
241#                            Additional flags                          #
242########################################################################
243
244# List additional defines
245AM_CPPFLAGS += -DCOIN_NO_CLP_MESSAGE -DUSE_CBCCONFIG
246
247# This line is necessary to allow VPATH compilation with MS compilers
248# on Cygwin
249DEFAULT_INCLUDES = -I. -I`$(CYGPATH_W) $(srcdir)` -I$(top_builddir)/inc
250
251########################################################################
252#                Headers that need to be installed                     #
253########################################################################
254
255# Here list all the header files that are required by a user of the library,
256# and that therefore should be installed in 'install/coin'
257includecoindir = $(includedir)/coin
258includecoin_HEADERS = \
259        ../inc/config_cbc.h \
260        Cbc_C_Interface.h \
261        CbcBranchActual.hpp \
262        CbcBranchAllDifferent.hpp \
263        CbcBranchBase.hpp \
264        CbcBranchDynamic.hpp \
265        CbcBranchCut.hpp \
266        CbcBranchDecision.hpp \
267        CbcBranchDefaultDecision.hpp \
268        CbcBranchingObject.hpp \
269        CbcBranchLotsize.hpp \
270        CbcBranchToFixLots.hpp \
271        CbcCompareActual.hpp \
272        CbcCompareBase.hpp \
273        CbcCompareDefault.hpp \
274        CbcCompareDepth.hpp \
275        CbcCompareEstimate.hpp \
276        CbcCompareObjective.hpp \
277        CbcConsequence.hpp \
278        CbcChooseVariable.hpp \
279        CbcClique.hpp \
280        CbcCompare.hpp \
281        CbcCutGenerator.hpp \
282        CbcCutModifier.hpp \
283        CbcCutSubsetModifier.hpp \
284        CbcDummyBranchingObject.hpp \
285        CbcFathom.hpp \
286        CbcEventHandler.hpp \
287        CbcFeasibilityBase.hpp \
288        CbcFixVariable.hpp \
289        CbcFollowOn.hpp \
290        CbcFullNodeInfo.hpp \
291        CbcGeneral.hpp \
292        CbcGeneralDepth.hpp \
293        CbcHeuristic.hpp \
294        CbcHeuristicDINS.hpp \
295        CbcHeuristicDive.hpp \
296        CbcHeuristicDiveCoefficient.hpp \
297        CbcHeuristicDiveFractional.hpp \
298        CbcHeuristicDiveGuided.hpp \
299        CbcHeuristicDiveLineSearch.hpp \
300        CbcHeuristicDivePseudoCost.hpp \
301        CbcHeuristicDiveVectorLength.hpp \
302        CbcHeuristicFPump.hpp \
303        CbcHeuristicGreedy.hpp \
304        CbcHeuristicLocal.hpp \
305        CbcHeuristicPivotAndFix.hpp \
306        CbcHeuristicRandRound.hpp \
307        CbcHeuristicRENS.hpp \
308        CbcHeuristicRINS.hpp \
309        CbcHeuristicVND.hpp \
310        CbcMessage.hpp \
311        CbcModel.hpp \
312        CbcNode.hpp \
313        CbcNodeInfo.hpp \
314        CbcNWay.hpp \
315        CbcObject.hpp \
316        CbcObjectUpdateData.hpp \
317        CbcPartialNodeInfo.hpp \
318        CbcSimpleInteger.hpp \
319        CbcSimpleIntegerDynamicPseudoCost.hpp \
320        CbcSimpleIntegerPseudoCost.hpp \
321        CbcStrategy.hpp \
322        CbcSolver.hpp \
323        CbcSOS.hpp \
324        CbcSubProblem.hpp \
325        CbcTree.hpp \
326        CbcLinked.hpp \
327        CbcTreeLocal.hpp \
328        ClpConstraintAmpl.hpp \
329        ClpAmplObjective.hpp
330
331#############################################################################
332# Create the Config.h file that always defines HAVE_CONFIG_H and install it #
333#############################################################################
334
335# You only need to adapt the following line
336ConfigHeader = CbcConfig.h
337
338install-exec-local:
339        echo "#ifndef HAVE_CONFIG_H" >bla
340        echo "#define HAVE_CONFIG_H" >>bla
341        echo "#endif" >> bla
342        cat $(srcdir)/$(ConfigHeader) >> bla
343        $(install_sh_DATA) bla $(DESTDIR)$(includecoindir)/$(ConfigHeader)
344        rm -f bla
345
346uninstall-local:
347        rm -f $(DESTDIR)$(includecoindir)/$(ConfigHeader)
Note: See TracBrowser for help on using the repository browser.