# Makefile for compiling MINOS src files into libraries.
# Uses options defined in ../Makefile.defs.
#
# 24 Jan 2005: Makefiles reorganized by Michael Friedlander.
# 07 Sep 2007: g95 needs flag -fsloppy-char .
# 09 Sep 2007: Realized .so and .objects shouldn't reference $(FFLAGS)

include ../Makefile.defs

OBJ  = mi02lib.o  mi10unix.o mi11sys.o  \
       mi12solv.o mi15blas.o mi17util.o \
       mi20amat.o mi21amat.o            \
       mi25bfac.o mi26bfac.o mi27lu.o   \
       mi30spec.o mi35mps.o  mi36mps.o  \
       mi40bfil.o mi50lp.o              \
       mi60srch.o mi65rmod.o            \
       mi70nobj.o mi80ncon.o mi81ncon.o

OBJUP = $(foreach OBJ, $(OBJ), $(OBJdir)/$(OBJ))

libquadminos:    OBJdir = ../obj
libquadminos:    FFLAGS = $(FFLAGSopt)
libquadminos:    libquadminos.$(LIBTYPE)

libquadminosdbg: OBJdir = ../objdbg
libquadminosdbg: FFLAGS = $(FFLAGSdbg)
libquadminosdbg: libquadminosdbg.$(LIBTYPE)

%.so: objects
	$(FC) $(LIBS) $(SHARED) -o ../lib/$@ $(OBJUP)

%.a:  objects
	ar rcs ../lib/$@ $(OBJUP)

objects:
	$(MAKE) -C $(OBJdir) $(OBJ)

clean:
	rm -f ../obj/*.o
	rm -f ../objdbg/*.o
	rm -f *.o

veryclean:
	make clean
	rm -rf ../lib/*
