# /****************************************************************
# Copyright (C) 1997 Lucent Technologies
# All Rights Reserved
#
# Permission to use, copy, modify, and distribute this software and
# its documentation for any purpose and without fee is hereby
# granted, provided that the above copyright notice appear in all
# copies and that both that the copyright notice and this
# permission notice and warranty disclaimer appear in supporting
# documentation, and that the name of Lucent or any of its entities
# not be used in advertising or publicity pertaining to
# distribution of the software without specific, written prior
# permission.
#
# LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
# IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY
# SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
# IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
# ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
# THIS SOFTWARE.
# ****************************************************************/

# For making minos on Unix systems.

.SUFFIXES: .c .o

## On HP systems, add -ldld to the end of the L = line below.
## On linux and Solaris systems, add -ldl to the end of the L = line below.
L = -lf2c -lm

S = ..
# "S = .." assumes this directory is solvers/minos .
M = libminos.a
# Either link or copy your MINOS library to libminos.a in this
# directory, or adjust the "M = ..." assignment appropriately to point
# to your MINOS library.

# We assume the f2c calling conventions, and that -lf2c is the
# f2c support library.  You could replace "-lf2c" with the full
# pathname of the f2c support library, such as /usr/local/lib/libf2c.a .
# See $S/README.f77 for instructions on dealing with other
# Fortran 77 compilers.

CC = cc
CFLAGS = -O

.c.o:
	$(CC) -c $(CFLAGS) -I$S $*.c

m = m551.o $S/amplsolver.a $M

minos: $m
	$(F77) -o minos $m $L
	strip minos

m551.o: $S/asl.h $S/getstub.h

# Student version

sminos = sm551.o $S/sjac0dim.o $S/amplsolver.a $M
sminos: $(sminos)
	$(F77) -o sminos $(sminos) $L
	strip sminos

sm551.o: m551.c $S/asl.h $S/getstub.h
	$(CC) -c $(CFLAGS) -DStudent_Edition -o sm551.o m551.c

$S/sjac0dim.o: $S/sjac0dim.c $S/jac0dim.c $S/asl.h
	cd $S; make sjac0dim.o

# "make xsum.out" to check for transmission errors.
# This assumes you have the xsum program, whose source is
# /netlib/f2c/src/xsum.c, e.g.,
#	http://www.netlib.org/f2c/src/xsum.c
# or
#	http://netlib.sandia.gov/f2c/src/xsum.c.gz

x = \
	README.1st \
	README.minos \
	configure \
	configurehere \
	m551.c \
	makefile.u \
	makefile.vc

xsum.out: $x
	xsum $x >xsum1.out
	cmp xsum0.out xsum1.out && mv xsum1.out xsum.out || diff xsum[01].out
