Makefile 1.14 KB
include $(BTREE)/Make.inc


objects = fvnlib.o
library = libfvn$(libext)

all: sub $(library)

sub:
		( cd fvn_common && make && make install )
		( cd fvn_linear && make && make install )
		( cd fvn_integ && make && make install )
		( cd fvn_interpol && make && make install )
		( cd fvn_sparse && make && make install )
		( cd fvn_fnlib && make && make install )
		( cd fvn_misc && make && make install )


clean:
		rm -f {*.o,*.oo,*.ipo,*.a,*.mod}
		( cd fvn_common && make clean )
		( cd fvn_linear && make clean )
		( cd fvn_integ && make clean )
		( cd fvn_interpol && make clean )
		( cd fvn_sparse && make clean )
		( cd fvn_fnlib && make clean )
		( cd fvn_misc && make clean)

install:
		cp fvn.mod $(BTREE)/modules
		cp $(library) $(BTREE)/lib

%.o: %.f90
		$(F95) $(F95FLAGS) -c $< -o $@

$(objects):fvnlib.f90

$(library): $(objects) sub
		$(AR) rcu $@ $(objects)
		$(AR) ru $@ fvn_common/*.o
		$(AR) ru $@ fvn_linear/*.o
		$(AR) ru $@ fvn_integ/*.o
		$(AR) ru $@ fvn_interpol/*.o
		$(AR) ru $@ fvn_sparse/*.o
		$(AR) ru $@ fvn_sparse/AMD/Lib/*.o
		$(AR) ru $@ fvn_sparse/UMFPACK/Lib/*.o
		$(AR) ru $@ fvn_fnlib/*.o
		$(AR) ru $@ fvn_misc/*.o
		$(RANLIB) $@