source: trunk/Couenne/src/Makefile.am @ 89

Last change on this file since 89 was 89, checked in by stefan, 11 years ago

for a debug build, libbonminampl need to come before libamplinterface, but since libtool links libamplinterface into libCouenne but keeps libbonminampl as dependency only, we explicitly link the content of libbonminampl into libCouenne (before libamplinterface)

File size: 12.0 KB
Line 
1# Copyright (C) 2006 International Business Machines and others.
2# All Rights Reserved.
3# This file is distributed under the Common Public License.
4
5## $Id: Makefile.am 405 2006-07-10 18:52:52Z andreasw $
6
7# Author:  Andreas Waechter           IBM    2006-04-13
8
9AUTOMAKE_OPTIONS = foreign
10
11########################################################################
12#                               libCouenne                             #
13########################################################################
14
15# Name of the library compiled in this directory.  We want it to be installed
16# in the 'lib' directory
17lib_LTLIBRARIES = libCouenne.la
18
19# List all source files for this library, including headers
20libCouenne_la_SOURCES = \
21        main/BonCouenneSetup.cpp \
22        main/BonCouenneInterface.cpp \
23        main/BonNlpHeuristic.cpp \
24        main/BonInitHeuristic.cpp \
25        main/BonCouenneInfo.cpp \
26        branch/CouenneThreeWayBranchObj.cpp \
27        branch/CouenneBranchingObject.cpp \
28        branch/CouenneObject.cpp \
29        branch/CouenneVarObject.cpp \
30        branch/CouenneChooseVariable.cpp \
31        branch/CouenneChooseStrong.cpp \
32        branch/doStrongBranching.cpp \
33        branch/projections.cpp \
34        branch/infeasibility.cpp \
35        branch/infeasibilityVT.cpp \
36        branch/feasibleRegion.cpp \
37        branch/CouenneComplObject.cpp \
38        branch/CouenneComplBranchingObject.cpp \
39        branch/CouenneSOSObject.cpp \
40        branch/operators/branchExprAbs.cpp \
41        branch/operators/branchExprExp.cpp \
42        branch/operators/branchExprDiv.cpp \
43        branch/operators/branchExprInv.cpp \
44        branch/operators/branchExprLog.cpp \
45        branch/operators/branchExprMul.cpp \
46        branch/operators/branchExprPow.cpp \
47        branch/operators/branchExprQuad.cpp \
48        branch/operators/branchExprSinCos.cpp \
49        branch/operators/minMaxDelta.cpp \
50        branch/operators/computeMulBrDist.cpp \
51        disjunctive/CouenneDisjCuts.cpp \
52        disjunctive/generateDisjCuts.cpp \
53        disjunctive/disjCut.cpp \
54        disjunctive/getDisjunctions.cpp \
55        disjunctive/separateWithDisjunction.cpp \
56        disjunctive/singleDisjunctions.cpp \
57        disjunctive/dummyVecMatr.cpp \
58        disjunctive/OsiLinear2MatrVec.cpp \
59        disjunctive/OsiCuts2MatrVec.cpp \
60        expression/domain.cpp \
61        expression/operators/exprAbs.cpp \
62        expression/operators/exprDiv.cpp \
63        expression/operators/exprExp.cpp \
64        expression/operators/exprInv.cpp \
65        expression/operators/exprLog.cpp \
66        expression/operators/exprMul.cpp \
67        expression/operators/exprOpp.cpp \
68        expression/operators/exprPow.cpp \
69        expression/operators/exprSin.cpp \
70        expression/operators/exprCos.cpp \
71        expression/operators/exprSub.cpp \
72        expression/operators/exprSum.cpp \
73        expression/operators/exprMinMax.cpp \
74        expression/operators/exprGroup.cpp \
75        expression/operators/exprQuad.cpp \
76        expression/operators/bounds/exprBQuad.cpp \
77        expression/operators/compQuadFinBounds.cpp \
78        expression/exprOp.cpp \
79        expression/exprUnary.cpp \
80        expression/exprVar.cpp \
81        expression/exprAux.cpp \
82        expression/expression.cpp \
83        expression/simplify/simplifiers.cpp \
84        expression/simplify/simplify.cpp \
85        convex/addEnvelope.cpp \
86        convex/createCuts.cpp \
87        convex/operators/conv-exprAbs.cpp \
88        convex/operators/conv-exprDiv.cpp \
89        convex/operators/conv-exprMul.cpp \
90        convex/operators/conv-exprMul-genCuts.cpp \
91        convex/operators/unifiedProdCuts.cpp \
92        convex/operators/conv-exprOpp.cpp \
93        convex/operators/conv-exprPow.cpp \
94        convex/operators/conv-exprPow-getBounds.cpp \
95        convex/operators/conv-exprPow-envelope.cpp \
96        convex/operators/powNewton.cpp \
97        convex/operators/conv-exprSub.cpp \
98        convex/operators/conv-exprSum.cpp \
99        convex/operators/conv-exprInv.cpp \
100        convex/operators/conv-exprSinCos.cpp \
101        convex/operators/conv-exprExp.cpp \
102        convex/operators/conv-exprLog.cpp \
103        convex/operators/conv-exprGroup.cpp \
104        convex/operators/conv-exprQuad.cpp \
105        convex/operators/trigNewton.cpp \
106        convex/CouenneCutGenerator.cpp \
107        convex/generateCuts.cpp \
108        convex/genColCuts.cpp \
109        convex/genRowCuts.cpp \
110        convex/operators/alphaConvexify.cpp \
111        convex/operators/quadCuts.cpp \
112        convex/updateBranchInfo.cpp \
113        standardize/decomposeTerm.cpp \
114        standardize/linStandardize.cpp \
115        standardize/sumStandardize.cpp \
116        standardize/analyzeSparsity.cpp \
117        standardize/constrStandardize.cpp \
118        standardize/elementBreak.cpp \
119        standardize/splitAux.cpp \
120        standardize/auxiliarize.cpp \
121        standardize/standardize.cpp \
122        standardize/flattenMul.cpp \
123        problem/problem.cpp \
124        problem/CouenneProblem.cpp \
125        problem/problemIO.cpp \
126        problem/writeAMPL.cpp \
127        problem/writeGAMS.cpp \
128        problem/constraint.cpp \
129        problem/fillQuadIndices.cpp \
130        problem/fillDependence.cpp \
131        problem/CouenneSolverInterface.cpp \
132        problem/CouenneLPtightenBounds.cpp \
133        problem/checkNLP.cpp \
134        problem/getIntegerCandidate.cpp \
135        problem/testIntFix.cpp \
136        problem/CouenneSOS.cpp \
137        problem/depGraph/depGraph.cpp \
138        problem/depGraph/checkCycles.cpp \
139        bound_tightening/boundTightening.cpp \
140        bound_tightening/aggressiveBT.cpp \
141        bound_tightening/fake_tightening.cpp \
142        bound_tightening/obbt.cpp \
143        bound_tightening/obbt_iter.cpp \
144        bound_tightening/tightenBounds.cpp \
145        bound_tightening/impliedBounds.cpp \
146        bound_tightening/operators/impliedBounds-mul.cpp \
147        bound_tightening/operators/impliedBounds-sum.cpp \
148        bound_tightening/operators/impliedBounds-exprSum.cpp \
149        bound_tightening/operators/impliedBounds-exprDiv.cpp \
150        bound_tightening/operators/impliedBounds-exprMul.cpp \
151        bound_tightening/operators/impliedBounds-exprQuad.cpp \
152        bound_tightening/operators/impliedBounds-exprPow.cpp \
153        util/drawCuts.cpp \
154        util/rootQ.cpp
155
156# This is for libtool (on Windows)
157libCouenne_la_LDFLAGS = $(LT_LDFLAGS)
158
159libCouenne_la_LIBADD =
160
161# If we have the Ampl solver library, we need to add additional things
162if COIN_HAS_ASL
163libCouenne_la_SOURCES += readnl/readnl.cpp \
164                         readnl/nl2e.cpp \
165                         readnl/invmap.cpp \
166                         readnl/readASLfg.cpp
167
168# adding AMPL interface for use with other executables
169libCouenne_la_LIBADD += \
170        $(BONMINOBJDIR)/src/Interfaces/Ampl/BonAmplInterface.lo \
171        $(BONMINOBJDIR)/src/Interfaces/Ampl/BonAmplTMINLP.lo \
172        $(BONMINOBJDIR)/src/Interfaces/Ampl/sos_kludge.lo \
173        $(BONMINOBJDIR)/src/Algorithms/Ampl/BonAmplSetup.lo \
174        $(IPOPTOBJDIR)/src/Apps/AmplSolver/libamplinterface.la
175endif
176
177########################################################################
178#                            Additional flags                          #
179########################################################################
180
181# Here list all include flags, relative to this "srcdir" directory.  This
182# "cygpath" stuff is necessary to compile with native compilers on Windows.
183AM_CPPFLAGS = -I`$(CYGPATH_W) $(COUENNESRCDIR)/src/expression` \
184        -I`$(CYGPATH_W) $(COUENNESRCDIR)/src/disjunctive` \
185        -I`$(CYGPATH_W) $(COUENNESRCDIR)/src/expression` \
186        -I`$(CYGPATH_W) $(COUENNESRCDIR)/src/expression/operators` \
187        -I`$(CYGPATH_W) $(COUENNESRCDIR)/src/expression/operators/bounds` \
188        -I`$(CYGPATH_W) $(COUENNESRCDIR)/src/branch` \
189        -I`$(CYGPATH_W) $(COUENNESRCDIR)/src/main` \
190        -I`$(CYGPATH_W) $(COUENNESRCDIR)/src/util` \
191        -I`$(CYGPATH_W) $(COUENNESRCDIR)/src/convex` \
192        -I`$(CYGPATH_W) $(COUENNESRCDIR)/src/standardize` \
193        -I`$(CYGPATH_W) $(COUENNESRCDIR)/src/problem` \
194        -I`$(CYGPATH_W) $(COUENNESRCDIR)/src/problem/depGraph` \
195        -I`$(CYGPATH_W) $(OSISRCDIR)/src` \
196        -I`$(CYGPATH_W) $(OSISRCDIR)/src/OsiClp` \
197        -I`$(CYGPATH_W) $(OSIOBJDIR)/inc` \
198        -I`$(CYGPATH_W) $(CBCSRCDIR)/src` \
199        -I`$(CYGPATH_W) $(CBCOBJDIR)/inc` \
200        -I`$(CYGPATH_W) $(IPOPTSRCDIR)/src/Common` \
201        -I`$(CYGPATH_W) $(IPOPTSRCDIR)/src/LinAlg` \
202        -I`$(CYGPATH_W) $(IPOPTSRCDIR)/src/Interfaces` \
203        -I`$(CYGPATH_W) $(IPOPTOBJDIR)/inc` \
204        -I`$(CYGPATH_W) $(CGLSRCDIR)/src` \
205        -I`$(CYGPATH_W) $(CGLOBJDIR)/inc` \
206        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglMixedIntegerRounding2` \
207        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglLandP` \
208        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglRedSplit` \
209        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglGomory` \
210        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglProbing` \
211        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglOddHole` \
212        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglClique` \
213        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglFlowCover` \
214        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglMixedIntegerRounding` \
215        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglTwomir` \
216        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglKnapsackCover` \
217        -I`$(CYGPATH_W) $(CGLSRCDIR)/src/CglPreProcess` \
218        -I`$(CYGPATH_W) $(CLPSRCDIR)/src` \
219        -I`$(CYGPATH_W) $(CLPOBJDIR)/inc` \
220        -I`$(CYGPATH_W) $(BONMINSRCDIR)/src/Algorithms` \
221        -I`$(CYGPATH_W) $(BONMINSRCDIR)/src/Algorithms/Branching` \
222        -I`$(CYGPATH_W) $(BONMINSRCDIR)/src/Algorithms/OaGenerators` \
223        -I`$(CYGPATH_W) $(BONMINSRCDIR)/src/Algorithms/Ampl` \
224        -I`$(CYGPATH_W) $(BONMINSRCDIR)/src/Interfaces` \
225        -I`$(CYGPATH_W) $(BONMINSRCDIR)/src/Interfaces/Ipopt` \
226        -I`$(CYGPATH_W) $(BONMINSRCDIR)/src/Interfaces/Ampl` \
227        -I`$(CYGPATH_W) $(BONMINSRCDIR)/src/CbcBonmin` \
228        -I`$(CYGPATH_W) $(objdir)/inc` \
229        -I`$(CYGPATH_W) $(COINUTILSSRCDIR)/src` \
230        -I`$(CYGPATH_W) $(COINUTILSOBJDIR)/inc`
231
232# If we have the Ampl solver library, we need to add additional things
233if COIN_HAS_ASL
234AM_CPPFLAGS += $(ASL_CPPFLAGS)
235endif
236
237# This line is necessary to allow VPATH compilation with MS compilers
238# on Cygwin
239DEFAULT_INCLUDES = -I. -I`$(CYGPATH_W) $(srcdir)` -I$(top_builddir)/inc
240
241########################################################################
242#                Headers that need to be installed                     #
243########################################################################
244
245# Here list all the header files that are required by a user of the library,
246# and that therefore should be installed in 'install/coin'
247includecoindir = $(includedir)/coin
248includecoin_HEADERS = \
249        ../inc/config_couenne.h \
250        main/BonCouenneInfo.hpp \
251        main/BonCouenneSetup.hpp \
252        main/BonCouenneInterface.hpp \
253        main/BonNlpHeuristic.hpp \
254        main/BonInitHeuristic.hpp \
255        branch/CouenneObject.hpp \
256        branch/CouenneVarObject.hpp \
257        branch/CouenneVTObject.hpp \
258        branch/CouenneThreeWayBranchObj.hpp \
259        branch/CouenneBranchingObject.hpp \
260        branch/CouenneChooseVariable.hpp \
261        branch/CouenneChooseStrong.hpp \
262        branch/CouenneComplObject.hpp \
263        branch/CouenneComplBranchingObject.hpp \
264        branch/CouenneSOSObject.hpp \
265        branch/projections.hpp \
266        standardize/lqelems.hpp \
267        expression/domain.hpp \
268        expression/operators/exprAbs.hpp \
269        expression/operators/exprExp.hpp \
270        expression/operators/exprInv.hpp \
271        expression/operators/exprMul.hpp \
272        expression/operators/exprOpp.hpp \
273        expression/operators/exprLog.hpp \
274        expression/operators/exprDiv.hpp \
275        expression/operators/exprMin.hpp \
276        expression/operators/exprSum.hpp \
277        expression/operators/exprMax.hpp \
278        expression/operators/exprPow.hpp \
279        expression/operators/exprSin.hpp \
280        expression/operators/exprCos.hpp \
281        expression/operators/exprSub.hpp \
282        expression/operators/exprGroup.hpp \
283        expression/operators/exprQuad.hpp \
284        expression/operators/exprIf.hpp \
285        expression/operators/exprNorm.hpp \
286        expression/operators/exprPWLinear.hpp \
287        expression/operators/bounds/exprBMul.hpp \
288        expression/operators/bounds/exprBDiv.hpp \
289        expression/operators/bounds/exprBSin.hpp \
290        expression/operators/bounds/exprBCos.hpp \
291        expression/exprConst.hpp \
292        expression/exprIVar.hpp \
293        expression/exprVar.hpp \
294        expression/exprAux.hpp \
295        expression/exprUnary.hpp \
296        expression/expression.hpp \
297        expression/exprClone.hpp \
298        expression/exprBound.hpp \
299        expression/exprCopy.hpp \
300        expression/exprStore.hpp \
301        expression/exprOp.hpp \
302        expression/CouennePrecisions.hpp \
303        problem/depGraph/depGraph.hpp \
304        problem/CouenneProblemElem.hpp \
305        problem/CouenneProblem.hpp \
306        problem/CouenneSolverInterface.hpp \
307        problem/CouenneJournalist.hpp \
308        expression/CouenneTypes.hpp \
309        util/rootQ.hpp \
310        util/funtriplets.hpp \
311        disjunctive/CouenneDisjCuts.hpp \
312        convex/CouenneCutGenerator.hpp
313
314#############################################################################
315# Create the Config.h file that always defines HAVE_CONFIG_H and install it #
316#############################################################################
317
318# You only need to adapt the following line
319ConfigHeader = CouenneConfig.h
320
321install-exec-local:
322        echo "#ifndef HAVE_CONFIG_H" >bla
323        echo "#define HAVE_CONFIG_H" >>bla
324        echo "#endif" >> bla
325        cat $(srcdir)/$(ConfigHeader) >> bla
326        $(install_sh_DATA) bla $(DESTDIR)$(includecoindir)/$(ConfigHeader)
327        rm -f bla
328
329uninstall-local:
330        rm -f $(DESTDIR)$(includecoindir)/$(ConfigHeader)
Note: See TracBrowser for help on using the repository browser.