1## $Id$
2#
3# Copyright (C) 2006 International Business Machines and others.
4# All Rights Reserved.
5# This file is distributed under the Eclipse Public License.
6#
7#
8# Authors:  Andreas Waechter           IBM    2006-04-13
9#           Pietro Belotti
10
11AUTOMAKE_OPTIONS = foreign
12
13########################################################################
14#                               libCouenne                             #
15########################################################################
16
17# Name of the library compiled in this directory.  We want it to be installed
18# in the 'lib' directory
19lib_LTLIBRARIES = libCouenne.la
20
21# List all source files, including headers
22libCouenne_la_SOURCES = \
23	main/CouenneBab.cpp \
24	main/BonCouenneSetup.cpp \
25	main/SmartAslDestr.cpp
26
27# List all additionally required libraries
28libCouenne_la_LIBADD = $(libCouenne_la_DEPENDENCIES)
29if DEPENDENCY_LINKING
30libCouenne_la_LIBADD += $(COUENNELIB_LIBS)
31endif
32
33# List all dependency libraries
34libCouenne_la_DEPENDENCIES = \
35	./interfaces/libCouenneInterfaces.la \
36	./heuristics/libCouenneHeuristics.la \
37	./problem/libCouenneProblem.la \
38	./standardize/libCouenneStandardize.la \
39	./expression/libCouenneExpression.la \
40	./branch/libCouenneBranch.la \
41	./convex/libCouenneConvex.la \
42	./bound_tightening/libCouenneBoundTightening.la \
43	./bound_tightening/twoImpliedBT/libCouenneTwoImplied.la \
44	./util/libCouenneUtil.la \
45	./disjunctive/libCouenneDisjunctive.la \
46	./cut/crossconv/libCouenneCrossConv.la \
47	./cut/sdpcuts/libCouenneSdpCuts.la
48
49#	./ellipcuts/libCouenneEllipCuts.la
50#	./readnl/libCouenneReadnl.la
51
52# This is for libtool
53libCouenne_la_LDFLAGS = $(LT_LDFLAGS)
54
55########################################################################
56#                            Additional flags                          #
57########################################################################
58
59# Here list all include flags, relative to this "srcdir" directory.  This
60# "cygpath" stuff is necessary to compile with native compilers on Windows.
61
62AM_CPPFLAGS = \
63	-I`$(CYGPATH_W) $(srcdir)/convex` \
64	-I`$(CYGPATH_W) $(srcdir)/interfaces` \
65	-I`$(CYGPATH_W) $(srcdir)/heuristics` \
66	-I`$(CYGPATH_W) $(srcdir)/expression` \
67	-I`$(CYGPATH_W) $(srcdir)/expression/operators` \
68	-I`$(CYGPATH_W) $(srcdir)/expression/partial` \
69	-I`$(CYGPATH_W) $(srcdir)/disjunctive` \
70	-I`$(CYGPATH_W) $(srcdir)/main` \
71	-I`$(CYGPATH_W) $(srcdir)/problem` \
72	-I`$(CYGPATH_W) $(srcdir)/branch` \
73	-I`$(CYGPATH_W) $(srcdir)/cut/sdpcuts` \
74	-I`$(CYGPATH_W) $(srcdir)/cut/crossconv` \
75	-I`$(CYGPATH_W) $(srcdir)/bound_tightening` \
76	-I`$(CYGPATH_W) $(srcdir)/bound_tightening/twoImpliedBT` \
77       $(COUENNELIB_CFLAGS)
78
79#	-I`$(CYGPATH_W) $(srcdir)/two_implied_bt` \
80#	-I`$(CYGPATH_W) $(srcdir)/ellipcuts`
81
82# This line is necessary to allow VPATH compilation
83DEFAULT_INCLUDES = -I. -I`$(CYGPATH_W) $(srcdir)`
84
85########################################################################
86#                Headers that need to be installed                     #
87########################################################################
88
89# Here list all the header files that are required by a user of the library,
90# and that therefore should be installed in 'include/coin'
91includecoindir = $(includedir)/coin
92includecoin_HEADERS = \
93	util/CouenneRootQ.hpp \
94	util/CouenneFunTriplets.hpp \
95	main/CouenneBab.hpp \
96	main/BonCouenneInfo.hpp \
97	main/BonCouenneSetup.hpp \
98	interfaces/BonCouenneInterface.hpp \
99	interfaces/CouenneTNLP.hpp \
100	interfaces/CouenneMINLPInterface.hpp \
101	heuristics/BonNlpHeuristic.hpp \
102	heuristics/BonInitHeuristic.hpp \
103	heuristics/CouenneFeasPump.hpp \
104	branch/CouenneObject.hpp \
105	branch/CouenneVarObject.hpp \
106	branch/CouenneVTObject.hpp \
107	branch/CouenneThreeWayBranchObj.hpp \
108	branch/CouenneBranchingObject.hpp \
109	branch/CouenneChooseVariable.hpp \
110	branch/CouenneChooseStrong.hpp \
111	branch/CouenneComplObject.hpp \
112	branch/CouenneComplBranchingObject.hpp \
113	branch/CouenneOrbitObj.hpp \
114	branch/CouenneOrbitBranchingObj.hpp \
115	branch/CouenneSOSObject.hpp \
116	branch/CouenneProjections.hpp \
117	standardize/CouenneLQelems.hpp \
118	bound_tightening/CouenneBTPerfIndicator.hpp \
119	bound_tightening/CouenneFixPoint.hpp \
120	bound_tightening/CouenneAggrProbing.hpp \
121	bound_tightening/twoImpliedBT/CouenneTwoImplied.hpp \
122	expression/CouenneDomain.hpp \
123	expression/operators/CouenneExprAbs.hpp \
124	expression/operators/CouenneExprExp.hpp \
125	expression/operators/CouenneExprInv.hpp \
126	expression/operators/CouenneExprMul.hpp \
127	expression/operators/CouenneExprTrilinear.hpp \
128	expression/operators/CouenneExprOpp.hpp \
129	expression/operators/CouenneExprLog.hpp \
130	expression/operators/CouenneExprDiv.hpp \
131	expression/operators/CouenneExprMin.hpp \
132	expression/operators/CouenneExprSum.hpp \
133	expression/operators/CouenneExprMax.hpp \
134	expression/operators/CouenneExprPow.hpp \
135	expression/operators/CouenneExprSin.hpp \
136	expression/operators/CouenneExprCos.hpp \
137	expression/operators/CouenneExprSub.hpp \
138	expression/operators/CouenneExprGroup.hpp \
139	expression/operators/CouenneExprQuad.hpp \
140	expression/operators/CouenneExprIf.hpp \
141	expression/operators/CouenneExprNorm.hpp \
142	expression/operators/CouenneExprPWLinear.hpp \
143	expression/operators/bounds/CouenneExprBMul.hpp \
144	expression/operators/bounds/CouenneExprBDiv.hpp \
145	expression/operators/bounds/CouenneExprBSin.hpp \
146	expression/operators/bounds/CouenneExprBCos.hpp \
147	expression/CouenneExprConst.hpp \
148	expression/CouenneExprIVar.hpp \
149	expression/CouenneExprVar.hpp \
150	expression/CouenneExprAux.hpp \
151	expression/CouenneExprUnary.hpp \
152	expression/CouenneExpression.hpp \
153	expression/CouenneExprClone.hpp \
154	expression/CouenneExprBound.hpp \
155	expression/CouenneExprCopy.hpp \
156	expression/CouenneExprStore.hpp \
157	expression/CouenneExprOp.hpp \
158	expression/CouExpr.hpp \
159	expression/CouennePrecisions.hpp \
160	expression/partial/CouenneExprHess.hpp \
161	expression/partial/CouenneExprJac.hpp \
162	problem/depGraph/CouenneDepGraph.hpp \
163	problem/CouenneProblemElem.hpp \
164	problem/CouenneProblem.hpp \
165	problem/CouenneSolverInterface.hpp \
166	problem/CouenneJournalist.hpp \
167	problem/CouenneGlobalCutOff.hpp \
168	problem/CouenneRecordBestSol.hpp \
169	expression/CouenneTypes.hpp \
170	disjunctive/CouenneDisjCuts.hpp \
171	convex/CouenneCutGenerator.hpp \
172	cut/sdpcuts/CouenneSdpCuts.hpp \
173	cut/sdpcuts/CouennePSDcon.hpp \
174	cut/sdpcuts/CouenneMatrix.hpp \
175	cut/crossconv/CouenneCrossConv.hpp
176
177# cut/sdpcuts/dsyevx_wrapper.hpp
178# cut/sdpcuts/linquad_cuts.hpp
179# cut/sdpcuts/populate.hpp
180# cut/sdpcuts/quadratic_cuts_check.hpp
181# cut/sdpcuts/rlt_cuts.hpp
182
183# ellipcuts/CouenneEllipCuts.hpp
184
185if COIN_HAS_NTY
186includecoin_HEADERS += branch/Nauty.h
187endif
188
189install-exec-local:
190	$(install_sh_DATA) config_couenne.h $(DESTDIR)$(includecoindir)/CouenneConfig.h
191
192uninstall-local:
193	rm -f $(DESTDIR)$(includecoindir)/CouenneConfig.h
194