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

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

list .la files in xxx-uninstalled.pc files; setup binary dependencies with _DEPENDENCIES variable; rerun autotools

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 9.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 1545 2010-12-04 16:07:00Z 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
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
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 = $(COINDEPEND_CFLAGS) $(CLP_CFLAGS) $(CPX_CFLAGS) $(ASL_CFLAGS)
116
117########################################################################
118#                            cbc program                               #
119########################################################################
120
121if COIN_HAS_CLP
122
123# Name of the executable compiled in this directory.  We want it to be
124# installed in the 'bin' directory
125bin_PROGRAMS += cbc
126
127# List all source files for this executable, including headers
128cbc_SOURCES = CoinSolve.cpp
129
130# Additional libraries
131cbc_LDADD = libCbcSolver.la libCbc.la $(CBCLIB_LIBS) $(ASL_LIBS)
132cbc_DEPENDENCIES = libCbcSolver.la libCbc.la $(CBCLIB_DEPENDENCIES) $(ASL_DEPENDENCIES)
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
139endif
140
141
142########################################################################
143#                        cbc-generic program                           #
144########################################################################
145
146if CBC_BUILD_CBC_GENERIC
147
148# Name of the executable compiled in this directory.  We want it to be
149# installed in the 'bin' directory
150
151bin_PROGRAMS += cbc-generic
152
153# List all source files for this executable, including headers
154
155cbc_generic_SOURCES = \
156        CbcGenBaB.cpp \
157        CbcGenCbcParam.cpp CbcGenCbcParam.hpp CbcGenCbcParamUtils.cpp \
158        CbcGenCtlBlk.cpp CbcGenCtlBlk.hpp \
159        CbcGeneric.cpp \
160        CbcGenMessages.cpp CbcGenMessages.hpp \
161        CbcGenOsiParam.cpp CbcGenOsiParam.hpp CbcGenOsiParamUtils.cpp \
162        CbcGenParam.cpp CbcGenParam.hpp CbcGenParamUtils.cpp \
163        CbcGenSolution.cpp \
164        CbcGenSolvers.cpp
165
166cbc_generic_LDADD = libCbcSolver.la libCbc.la $(CBCGENERIC_LIBS)
167cbc_generic_DEPENDENCIES = libCbcSolver.la libCbc.la $(CBCGENERIC_DEPENDENCIES)
168
169# List all additionally required solver and Osi libraries
170# the linker flags for all available LP solvers should already be included in $CBCGENERIC_LIBS,
171# so just add compiler flags here (all we can think of)
172
173AM_CPPFLAGS += $(DYLP_CFLAGS) $(GLPK_CFLAGS) $(MSK_CFLAGS) $(SPX_CFLAGS) $(VOL_CFLAGS) $(XPR_CFLAGS)
174
175# Finally, the -rpath flag is used by libtool to make sure that the shared
176# library is found (in the lib install directory) when we are using dynamic
177# libraries.
178
179cbc_generic_LDFLAGS = -rpath $(libdir)
180
181endif
182
183########################################################################
184#                            Additional flags                          #
185########################################################################
186
187# List additional defines
188AM_CPPFLAGS += -DCOIN_NO_CLP_MESSAGE -DUSE_CBCCONFIG
189
190# This line is necessary to allow VPATH compilation with MS compilers
191# on Cygwin
192DEFAULT_INCLUDES = -I. -I`$(CYGPATH_W) $(srcdir)` -I$(top_builddir)/inc
193
194########################################################################
195#                Headers that need to be installed                     #
196########################################################################
197
198# Here list all the header files that are required by a user of the library,
199# and that therefore should be installed in 'include/coin'
200includecoindir = $(includedir)/coin
201includecoin_HEADERS = \
202        ../inc/config_cbc.h \
203        Cbc_C_Interface.h \
204        CbcBranchActual.hpp \
205        CbcBranchAllDifferent.hpp \
206        CbcBranchBase.hpp \
207        CbcBranchDynamic.hpp \
208        CbcBranchCut.hpp \
209        CbcBranchDecision.hpp \
210        CbcBranchDefaultDecision.hpp \
211        CbcBranchingObject.hpp \
212        CbcBranchLotsize.hpp \
213        CbcBranchToFixLots.hpp \
214        CbcCompareActual.hpp \
215        CbcCompareBase.hpp \
216        CbcCompareDefault.hpp \
217        CbcCompareDepth.hpp \
218        CbcCompareEstimate.hpp \
219        CbcCompareObjective.hpp \
220        CbcConsequence.hpp \
221        CbcChooseVariable.hpp \
222        CbcClique.hpp \
223        CbcCompare.hpp \
224        CbcCutGenerator.hpp \
225        CbcCutModifier.hpp \
226        CbcCutSubsetModifier.hpp \
227        CbcDummyBranchingObject.hpp \
228        CbcFathom.hpp \
229        CbcEventHandler.hpp \
230        CbcFeasibilityBase.hpp \
231        CbcFixVariable.hpp \
232        CbcFollowOn.hpp \
233        CbcFullNodeInfo.hpp \
234        CbcGeneral.hpp \
235        CbcGeneralDepth.hpp \
236        CbcHeuristic.hpp \
237        CbcHeuristicDINS.hpp \
238        CbcHeuristicDive.hpp \
239        CbcHeuristicDiveCoefficient.hpp \
240        CbcHeuristicDiveFractional.hpp \
241        CbcHeuristicDiveGuided.hpp \
242        CbcHeuristicDiveLineSearch.hpp \
243        CbcHeuristicDivePseudoCost.hpp \
244        CbcHeuristicDiveVectorLength.hpp \
245        CbcHeuristicFPump.hpp \
246        CbcHeuristicGreedy.hpp \
247        CbcHeuristicLocal.hpp \
248        CbcHeuristicPivotAndFix.hpp \
249        CbcHeuristicRandRound.hpp \
250        CbcHeuristicRENS.hpp \
251        CbcHeuristicRINS.hpp \
252        CbcHeuristicVND.hpp \
253        CbcMessage.hpp \
254        CbcModel.hpp \
255        CbcNode.hpp \
256        CbcNodeInfo.hpp \
257        CbcNWay.hpp \
258        CbcObject.hpp \
259        CbcObjectUpdateData.hpp \
260        CbcPartialNodeInfo.hpp \
261        CbcSimpleInteger.hpp \
262        CbcSimpleIntegerDynamicPseudoCost.hpp \
263        CbcSimpleIntegerPseudoCost.hpp \
264        CbcStrategy.hpp \
265        CbcSolver.hpp \
266        CbcSOS.hpp \
267        CbcSubProblem.hpp \
268        CbcTree.hpp \
269        CbcLinked.hpp \
270        CbcTreeLocal.hpp \
271        ClpConstraintAmpl.hpp \
272        ClpAmplObjective.hpp
273
274#############################################################################
275# Create the Config.h file that always defines HAVE_CONFIG_H and install it #
276#############################################################################
277
278# You only need to adapt the following line
279ConfigHeader = CbcConfig.h
280
281install-exec-local:
282        echo "#ifndef HAVE_CONFIG_H" >bla
283        echo "#define HAVE_CONFIG_H" >>bla
284        echo "#endif" >> bla
285        cat $(srcdir)/$(ConfigHeader) >> bla
286        $(install_sh_DATA) bla $(DESTDIR)$(includecoindir)/$(ConfigHeader)
287        rm -f bla
288
289uninstall-local:
290        rm -f $(DESTDIR)$(includecoindir)/$(ConfigHeader)
Note: See TracBrowser for help on using the repository browser.