#GNU Makefile to build lsode_linpack Library liblsode_linpack.a 
#
#07/22/99 C. Ludescher
#
ifneq ($(MAKELEVEL),0)
# if OBJ was defined for main Makefile one level down
ifeq ("${OBJ}",".")
	override OBJ=..
endif
endif

# define system dependent flags, etc.
-include ../share/Make.local
include ../share/Make.flags


ifdef DEBUG
	FFLAGS   = $(DFFLAGS)
endif

OBJDIR = $(OBJ)/obj/lsode_linpack
ARC = $(OBJ)/lib/liblsode_linpack.a

FMEM =  $(subst .for,.o, $(wildcard *.for)) $(subst .f,.o, $(wildcard *.f))
MEM = $(foreach file,$(FMEM),$(ARC)($(file)))

.PHONY: clean realclean 

libs: ckdirs $(ARC)

all:  libs exec
	@echo done

$(OLDLIB): timestamp.inf
	@echo "--- DETECTED lsode_linpack.a source update"
	@echo "--- Re-Making $(ARC)"
	@$(MAKE) libs

exec:
  
ckdirs:
	@test -d $(OBJDIR) || mkdir -p $(OBJDIR)
	@test -d $(OBJ)/lib || mkdir -p $(OBJ)/lib

# compile .f
$(ARC)(%.o): %.f
	$(FC) $(FFLAGS) $(OUT) $(OBJDIR)/$*.o $<
	$(make_ar)

# compile .for
$(ARC)(%.o): %.for
	$(FC) $(FFLAGS) $(OUT) $(OBJDIR)/$*.o $<
	$(make_ar)

$(ARC): $(MEM)
	@$(RANLIB) $@ > /dev/null

clean:
	@rm -f $(OBJDIR)/*.o

realclean: clean
	@rm -f $(OBJ)/lib/liblsode_linpack.a


install:
	@test -d $(LIBDIR) || mkdir -p $(LIBDIR)
	@if test -f $(ARC); then \
	  umask 133; cp $(ARC) $(LIBDIR)/; \
	else test -f $(LIBDIR)/liblsode_linpack.a || echo ">>> can not find $(ARC)";fi

uninstall:
	rm -f $(LIBDIR)/liblsode_linpack.a





