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