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

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

use relative path to bonmin objdir because of windows/cygwin

File size: 12.1 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        ../../Bonmin/src/Interfaces/Ampl/BonAmplInterface.lo \
171        ../../Bonmin/src/Interfaces/Ampl/BonAmplTMINLP.lo \
172        ../../Bonmin/src/Interfaces/Ampl/sos_kludge.lo \
173        ../../Bonmin/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
321if COIN_HAS_ASL
322install-asl:
323        $(install_sh_DATA) ../../ThirdParty/ASL/amplsolv* $(DESTDIR)$(libdir)
324else
325install-asl:
326
327endif
328
329install-exec-local: install-asl
330        echo "#ifndef HAVE_CONFIG_H" >bla
331        echo "#define HAVE_CONFIG_H" >>bla
332        echo "#endif" >> bla
333        cat $(srcdir)/$(ConfigHeader) >> bla
334        $(install_sh_DATA) bla $(DESTDIR)$(includecoindir)/$(ConfigHeader)
335        rm -f bla
336
337uninstall-local:
338        rm -f $(DESTDIR)$(includecoindir)/$(ConfigHeader)
Note: See TracBrowser for help on using the repository browser.