1# Copyright (C) 2006, 2007 International Business Machines and others.
2# All Rights Reserved.
3# This file is distributed under the Eclipse Public License.
4
5## $Id: Makefile.am 433 2007-03-28 05:01:22Z andreasw $
6
7# Author:  Andreas Waechter           IBM    2006-04-13
8
9AUTOMAKE_OPTIONS = foreign
10
11# Name of the library in this directory
12
13SUBDIRS = \
14       OaGenerators \
15       Branching \
16       QuadCuts
17
18if COIN_HAS_ASL
19SUBDIRS += Ampl
20endif
21
22noinst_LTLIBRARIES = libbonalgorithms.la
23
24########################################################################
25#                          bonmin library                              #
26########################################################################
27
28# List all source files, including headers
29libbonalgorithms_la_SOURCES = \
30         BonBabSetupBase.cpp BonBabSetupBase.hpp \
31         BonBonminSetup.cpp BonBonminSetup.hpp \
32         BonSubMipSolver.cpp BonSubMipSolver.hpp \
33         BonCbcLpStrategy.cpp BonCbcLpStrategy.hpp \
34         BonSolverHelp.cpp BonSolverHelp.hpp
35
36libbonalgorithms_la_LIBADD = Branching/libbonbranching.la
37libbonalgorithms_la_LIBADD += OaGenerators/libbonoagenerators.la
38libbonalgorithms_la_LIBADD += QuadCuts/libbonquadcuts.la
39
40libbonalgorithms_la_DEPENDENCIES = $(libbonalgorithms_la_LIBADD)
41
42# This is for libtool
43libbonalgorithms_la_LDFLAGS = $(LT_LDFLAGS)
44
45# Here list all include flags, relative to this "srcdir" directory.  This
46# "cygpath" stuff is necessary to compile with native compilers on Windows
47AM_CPPFLAGS = \
48	-I`$(CYGPATH_W) $(srcdir)/Branching` \
49	-I`$(CYGPATH_W) $(srcdir)/QuadCuts` \
50	-I`$(CYGPATH_W) $(srcdir)/OaGenerators` \
51	-I`$(CYGPATH_W) $(srcdir)/../CbcBonmin` \
52	-I`$(CYGPATH_W) $(srcdir)/../CbcBonmin/Heuristics` \
53	-I`$(CYGPATH_W) $(srcdir)/../Interfaces` \
54	-I`$(CYGPATH_W) $(srcdir)/../Interfaces/Ipopt` \
55	-I`$(CYGPATH_W) $(srcdir)/../Interfaces/Filter` \
56	$(BONMINLIB_CFLAGS)
57
58# BonSubMipSolver.cpp needs to include cplex.h
59if COIN_HAS_CPX
60  AM_CPPFLAGS += -I`$(CYGPATH_W) $(CPXINCDIR)`
61endif
62
63# This line is necessary to allow VPATH compilation
64DEFAULT_INCLUDES = -I. -I`$(CYGPATH_W) $(srcdir)` -I$(top_builddir)/src/Interfaces
65
66
67########################################################################
68#                Headers that need to be installed                     #
69########################################################################
70
71# Here list all the header files that are required by a user of the library,
72# and that therefore should be installed in 'include/coin'
73includecoindir = $(includedir)/coin
74includecoin_HEADERS = \
75          BonBabSetupBase.hpp \
76          BonSubMipSolver.hpp \
77          BonCbcLpStrategy.hpp \
78          BonBonminSetup.hpp
79
80########################################################################
81#                            Astyle stuff                              #
82########################################################################
83
84# Here repeat all source files, with "bak" appended
85ASTYLE_FILES = \
86               BonBabSetupBase.cppbak \
87               BonBabSetupBase.hppbak \
88               BonBonminSetup.cppbak \
89               BonCbcLpStrategy.cppbak BonCbcLpStrategy.hppbak \
90               BonBonminSetup.hppbak
91
92ASTYLE = @ASTYLE@
93ASTYLEFLAGS = @ASTYLEFLAGS@
94
95CLEANFILES = $(ASTYLE_FILES)
96
97SUFFIXES = .cppbak .hppbak
98
99astyle: $(ASTYLE_FILES)
100
101.hpp.hppbak:
102	mv $< $@
103	$(ASTYLE) $(ASTYLEFLAGS) < $@ > $<
104	touch $@
105
106.cpp.cppbak:
107	mv $< $@
108	$(ASTYLE) $(ASTYLEFLAGS) < $@ > $<
109	touch $@
110