# Copyright (C) 2010 Hans Pirnay
# All Rights Reserved.
# This file is distributed under the Eclipse Public License.

##########################################################################
#    You can modify this example makefile to fit for your own program.   #
#    Usually, you only need to change the four CHANGEME entries below.   #
##########################################################################

# CHANGEME: This should be the name of your executable
EXE = redhess_cpp

# CHANGEME: Here is the name of all object files corresponding to the source
#           code that you wrote in order to define the problem statement
OBJS =  redhess_cpp.o \
	MySensTNLP.o

# CHANGEME: Additional libraries
ADDLIBS =

# CHANGEME: Additional flags for compilation (e.g., include flags)
ADDINCFLAGS =

##########################################################################
#  Usually, you don't have to change anything below.  Note that if you   #
#  change certain compiler options, you might have to recompile Ipopt.   #
##########################################################################

# C++ Compiler command
CXX = i686-linux-gnu-g++

# C++ Compiler options
CXXFLAGS = -g -O2 -ffile-prefix-map=BUILDPATH=. -fstack-protector-strong -Wformat -Werror=format-security -I/usr/lib/i386-linux-gnu/mpich/include 

# additional C++ Compiler options for linking
CXXLINKFLAGS =  -Wl,--rpath -Wl,/usr/lib/i386-linux-gnu

prefix=/usr
exec_prefix=${prefix}

# TODO there should be an sipopt .pc file from which to get flags

# Include directories
INCL = `PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig: i686-linux-gnu-pkgconf --cflags ipopt` $(ADDINCFLAGS)
#INCL = -I${prefix}/include/coin  -I/usr/include/mumps  -DIPOPTLIB_BUILD $(ADDINCFLAGS)

# Linker flags
LIBS = `PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig: i686-linux-gnu-pkgconf --libs ipopt` -lsipopt
#LIBS = -L/usr/lib/i386-linux-gnu -lsipopt -lipopt  -ldmumps -llapack -lblas -lm  -ldl

all: $(EXE)

.SUFFIXES: .cpp .o

$(EXE): $(OBJS)
	$(CXX) $(CXXLINKFLAGS) $(CXXFLAGS) -o $@ $(OBJS) $(LIBS) $(ADDLIBS)

clean:
	rm -rf $(EXE) $(OBJS)

.cpp.o:
	$(CXX) $(CXXFLAGS) $(INCL) -c -o $@ $<
