
#-------------------------------------------------
# Paths

SNOPT_DIR    = $(HOME)/snopt7
SNOPT_LIBDIR = $(SNOPT_DIR)/lib

SNCTRLDIR = .

SNCTRL_MODDIR = $(SNCTRLDIR)/mod
SNCTRL_MEXDIR = $(SNCTRLDIR)/mex
SNCTRL_MATDIR = $(SNCTRLDIR)/matlab
SNCTRL_OBJDIR = $(SNCTRLDIR)/src
SNCTRL_SRCDIR = $(SNCTRLDIR)/src
SNCTRL_LIBDIR = $(SNCTRLDIR)/lib

EXAMPLES_SRCDIR = $(SNCTRLDIR)/examples
EXAMPLES_OBJDIR = $(SNCTRLDIR)/examples


#-------------------------------------------------
# Compiler

FC       = g95
FFLAGS   = -g
MODFLAGS = -fmod=$(SNCTRL_MODDIR) -I$(SNCTRL_MODDIR)

#FC       = gfortran
#FFLAGS   = -g
#MODFLAGS = -J$(SNCTRL_MODDIR) -I$(SNCTRL_MODDIR)

#FC       = nagfor
#FFLAGS   = -g -kind=byte
#MODFLAGS = -mdir $(SNCTRL_MODDIR) -I$(SNCTRL_MODDIR)


#-------------------------------------------------

# Available modules to compile:  src examples mex matlab
modules = src examples mex matlab


SNOPT_LIBS  = -lsnopt   -lsnprint   -lblas
SNLIB = libsnopt libsnprint libblas
SNLIB_A = $(SNLIB:%=$(SNOPT_LIBDIR)/%.a)

SNCTRL_LIB  = -lsnctrl
SNCLIB   = libsnctrl
SNCLIB_A = $(SNCLIB:%=$(SNCTRL_LIBDIR)/%.a)


all:
src: all_snctrl
examples: all_examples
mex: all_mex

check:
	@echo "Checking the installation.  This may take a while..."
	cd examples;   ./check ../../lib > check.log
	@grep EXIT examples/check.log0 > /tmp/EXITs0.txt
	@grep EXIT examples/check.log  > /tmp/EXITs.txt
	@echo " "
	@echo "Comparing expected EXIT messages  (from examples/check.log0)"
	@echo "with those from this installation (from examples/check.log )"
	@echo "The differences are listed in /tmp/EXITdiffs.txt"
	@echo "      0 /tmp/EXITdiffs.txt    is good news (no differences)"
	@echo " "
	@diff  /tmp/EXITs0.txt /tmp/EXITs.txt > /tmp/EXITdiffs.txt
	@wc -l /tmp/EXITdiffs.txt

clean:
veryclean:
distclean:

include $(patsubst %,%/Submakefile,$(modules))