1# Copyright (C) 2005, 2010 International Business Machines and others.
2# All Rights Reserved.
3# This file is distributed under the Eclipse Public License.
4
5# $Id$
6
7# Directory to the sources for the (example) problem definition files
8SRCDIR = @srcdir@
9VPATH = @srcdir@
10
11# Compiler and options
12CXX = @CXX@
13CXXFLAGS = @CXXFLAGS@
14
15# Archiver for C++ object files (e.g., needed to build a library on AIX to
16# avoid multiply defined symbols for templates)
17CXXAR = @CXXAR@
18
19# additional C++ Compiler options for linking
20CXXLINKFLAGS = @RPATH_FLAGS@
21
22# Include directories (we use the CYGPATH_W variables to allow compilation with Windows compilers)
23@COIN_HAS_PKGCONFIG_TRUE@INCL = `PKG_CONFIG_PATH=@COIN_PKG_CONFIG_PATH@ @PKG_CONFIG@ --cflags ipopt` $(ADDINCFLAGS) -I. -DHAVE_CONFIG_H
24@COIN_HAS_PKGCONFIG_FALSE@INCL = -I`$(CYGPATH_W) @abs_include_dir@/coin` @IPOPTLIB_CFLAGS_INSTALLED@ $(ADDINCFLAGS) -I. -DHAVE_CONFIG_H
25
26LIB = libscalexamples.@LIBEXT@
27
28# Linker flags
29@COIN_HAS_PKGCONFIG_TRUE@LIBS = $(LIB) `PKG_CONFIG_PATH=@COIN_PKG_CONFIG_PATH@ @PKG_CONFIG@ --libs ipopt`
30@COIN_HAS_PKGCONFIG_FALSE@@COIN_CXX_IS_CL_TRUE@LIBS = $(LIB) -link -libpath:`$(CYGPATH_W) @abs_lib_dir@` libipopt.lib @IPOPTLIB_LIBS_INSTALLED@
31@COIN_HAS_PKGCONFIG_FALSE@@COIN_CXX_IS_CL_FALSE@LIBS = $(LIB) -L@abs_lib_dir@ -lipopt @IPOPTLIB_LIBS_INSTALLED@
32
33# Name of the executable
34EXE = solve_problem@EXEEXT@
35
36# List of all object files
37MAINOBJ =  solve_problem.@OBJEXT@
38
39# List of all object files
40LIBOBJS =  \
41	MittelmannDistCntrlNeumA.@OBJEXT@ \
42        MittelmannDistCntrlNeumB.@OBJEXT@ \
43        MittelmannDistCntrlDiri.@OBJEXT@ \
44        MittelmannBndryCntrlDiri.@OBJEXT@ \
45        MittelmannBndryCntrlDiri3D.@OBJEXT@ \
46        MittelmannBndryCntrlDiri3D_27.@OBJEXT@ \
47        MittelmannBndryCntrlDiri3Dsin.@OBJEXT@ \
48        MittelmannBndryCntrlNeum.@OBJEXT@ \
49        LuksanVlcek1.@OBJEXT@ \
50        LuksanVlcek2.@OBJEXT@ \
51        LuksanVlcek3.@OBJEXT@ \
52        LuksanVlcek4.@OBJEXT@ \
53        LuksanVlcek5.@OBJEXT@ \
54        LuksanVlcek6.@OBJEXT@ \
55        LuksanVlcek7.@OBJEXT@ \
56        RegisteredTNLP.@OBJEXT@
57
58all: $(EXE)
59
60# Dependencies
61LuksanVlcek1.@OBJEXT@ : LuksanVlcek1.hpp
62LuksanVlcek2.@OBJEXT@ : LuksanVlcek2.hpp
63LuksanVlcek3.@OBJEXT@ : LuksanVlcek3.hpp
64LuksanVlcek4.@OBJEXT@ : LuksanVlcek4.hpp
65LuksanVlcek5.@OBJEXT@ : LuksanVlcek5.hpp
66LuksanVlcek6.@OBJEXT@ : LuksanVlcek6.hpp
67LuksanVlcek7.@OBJEXT@ : LuksanVlcek7.hpp
68MittelmannDistCntrlNeumA.@OBJEXT@: MittelmannDistCntrlNeumA.hpp
69MittelmannDistCntrlNeumB.@OBJEXT@: MittelmannDistCntrlNeumB.hpp
70MittelmannDistCntrlDiri.@OBJEXT@: MittelmannDistCntrlDiri.hpp
71MittelmannBndryCntrlDiri.@OBJEXT@: MittelmannBndryCntrlDiri.hpp
72MittelmannBndryCntrlDiri3D.@OBJEXT@: MittelmannBndryCntrlDiri3D.hpp
73MittelmannBndryCntrlDiri3D_27.@OBJEXT@: MittelmannBndryCntrlDiri3D_27.hpp
74MittelmannBndryCntrlDiri3Dsin.@OBJEXT@: MittelmannBndryCntrlDiri3Dsin.hpp
75MittelmannBndryCntrlNeum.@OBJEXT@: MittelmannBndryCntrlNeum.hpp
76
77solve_problem.@OBJEXT@: \
78	LuksanVlcek1.hpp \
79	LuksanVlcek2.hpp \
80	LuksanVlcek3.hpp \
81	LuksanVlcek4.hpp \
82	LuksanVlcek5.hpp \
83	LuksanVlcek6.hpp \
84	LuksanVlcek7.hpp \
85	MittelmannDistCntrlNeumA.hpp \
86	MittelmannDistCntrlNeumB.hpp \
87	MittelmannDistCntrlDiri.hpp \
88	MittelmannBndryCntrlDiri.hpp \
89	MittelmannBndryCntrlDiri3D.hpp \
90	MittelmannBndryCntrlDiri3D_27.hpp \
91	MittelmannBndryCntrlDiri3Dsin.hpp \
92	MittelmannBndryCntrlNeum.hpp \
93	MittelmannParaCntrl.hpp
94
95# The following is necessary under cygwin, if native compilers are used
96CYGPATH_W = @CYGPATH_W@
97
98.SUFFIXES: .cpp .c .o .obj
99
100$(EXE): $(MAINOBJ) $(LIB)
101	$(CXX) $(CXXFLAGS) $(CXXLINKFLAGS) -o $@ $(MAINOBJ) $(LIBS)
102
103$(LIB): $(LIBOBJS)
104	$(CXXAR) $(LIB) $(LIBOBJS)
105
106clean:
107	rm -rf $(EXE) $(MAINOBJ) $(LIBOBJS) $(LIB)
108
109.cpp.o:
110	$(CXX) $(CXXFLAGS) $(INCL) -c -o $@ `test -f '$<' || echo '$(SRCDIR)/'`$<
111
112
113.cpp.obj:
114	$(CXX) $(CXXFLAGS) $(INCL) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(SRCDIR)/$<'; fi`
115