#  Produces object files for the interface optimizers

#  version for SUN or SGI workstations under UNIX

#  A.R. Conn and Philippe Toint, October 1992, for CGT Productions.
#  References to SNOPT added by Philip E. Gill, November 1996.
#
# ** Correction report.
# ** Correction 1. 10/08/93. added tenma to list of object files
# ** Correction 2. 25/08/93. added ubandh to list of object files
# ** Correction 3. 24/08/94. renamed mi54ma.o to minosma.o
# ** Correction 4. 04/10/94. added ccifg and cscifg to list of object files
# ** Correction 5. 13/12/94. added cobma to list of object files
# ** Correction 6. 19/12/94. added asmbe, ueh, ugreh, ceh, csgreh 
#                            to list of object files
# ** Correction 7. 06/12/95. added report tool
# ** End of Correction report.

#
#  Basic system commands
#

RM = /bin/rm -f
CP = /bin/cp

#
#  Directories for single and double precision object files
#

ODS=../objects/single
ODD=../objects/double

#
#  Temporary storage
#

TMP = /tmp

#
#  Default precision
#

PRC = todble
OD  = $(ODD)

#
#  Default size = medium
#

SIZE = tomed

#
#  compiler flags
#

FORTRAN =f77
FFLAGS= -O -c

#
#  Filtering rule
#

.SUFFIXES: .o .f
.f.o: $<
	../../pre/$(PRC) < $< | ../../pre/$(SIZE) > $(TMP)/$<
	$(FORTRAN) $(FFLAGS) -o $(OD)/$*.o $(TMP)/$<
	$(RM) $(TMP)/$<


#
#  list of object files created
#

OB = asmbl.o   elgrd.o   hsprd.o   initw.o   linpac.o  local.o   others.o \
     usetup.o  uprod.o   ugrsh.o   ugrdh.o   ufn.o     ugr.o     udh.o    \
     ush.o     uofg.o    unames.o  ubandh.o  ueh.o     ugreh.o   asmbe.o  \
     csetup.o  cfn.o     cgr.o     csgr.o    cdh.o     csh.o     cgrdh.o  \
     csgrsh.o  cprod.o   cofg.o    ccfg.o    cscfg.o   cnames.o  ccifg.o  \
     cscifg.o  ceh.o     csgreh.o  report.o \
     mi53ma.o  minosma.o npoptma.o snoptma.o \
     ve09ma.o  ve14ma.o  vf13ma.o  oslma.o   genma.o  \
     tenma.o   npsma.o   uncma.o   va15ma.o  cobma.o

#
#  Info
#

info:
	@ echo "Possible targets are:"
	@ echo " tools_s: single precision tools for optimization"
	@ echo " tools_d: double precision tools for optimization"
	@ echo " info  : this information"

#
#  Single precision version
#

tools_s:
	$(CP) ../../sifdec/local.f local.f
	$(MAKE) $(OB) PRC=tosngl SIZE=$(SIZE) TMP=$(TMP) OD=$(ODS)
	$(RM) local.f

#
#  Double precision version
#

tools_d:
	$(CP) ../../sifdec/local.f local.f
	$(MAKE) $(OB) PRC=todble SIZE=$(SIZE) TMP=$(TMP) OD=$(ODD)
	$(RM) local.f
