include $(BTREE)/Make.inc objects = fvnlib.o library = libfvn$(libext) all: umfpack fnlib $(library) clean: rm -f {*.o,*.oo,*.ipo,*.a,*.mod} ( cd fvn_sparse ; rm -f {*.o,*.oo,*.ipo,*.a,*.mod} ) ( cd fvn_sparse/AMD ; make clean ) ( cd fvn_sparse/UMFPACK ; make clean ) ( cd fvn_fnlib ; make clean ) ( rm -f fvn_sparse/AMD/Lib/libamd.a ) ( rm -f fvn_sparse/UMFPACK/Lib/libumfpack.a ) install: cp fvn.mod $(BTREE)/modules cp $(library) $(BTREE)/lib ( cd fvn_fnlib ; make install ) ( cp fvn_sparse/UMFPACK/Lib/libumfpack.a $(BTREE)/lib/libumfpack.lib ) ( cp fvn_sparse/AMD/Lib/libamd.a $(BTREE)/lib/libamd.lib ) %.o: %.f90 $(F95) $(F95FLAGS) -c $< -o $@ $(objects):fvnlib.f90 fvn_quadpack/dqk15_2d_inner.f fvn_quadpack/dqk31_2d_outer.f \ fvn_quadpack/d1mach.f fvn_quadpack/dqk31_2d_inner.f fvn_quadpack/dqage.f \ fvn_quadpack/dqk15.f fvn_quadpack/dqk21.f fvn_quadpack/dqk31.f fvn_quadpack/dqk41.f \ fvn_quadpack/dqk51.f fvn_quadpack/dqk61.f fvn_quadpack/dqk41_2d_outer.f \ fvn_quadpack/dqk41_2d_inner.f fvn_quadpack/dqag_2d_outer.f fvn_quadpack/dqag_2d_inner.f \ fvn_quadpack/dqpsrt.f fvn_quadpack/dqag.f fvn_quadpack/dqage_2d_outer.f \ fvn_quadpack/dqage_2d_inner.f fvn_quadpack/dqk51_2d_outer.f fvn_quadpack/dqk51_2d_inner.f \ fvn_quadpack/dqk61_2d_outer.f fvn_quadpack/dqk21_2d_outer.f fvn_quadpack/dqk61_2d_inner.f \ fvn_quadpack/dqk21_2d_inner.f fvn_quadpack/dqk15_2d_outer.f $(library): $(objects) $(AR) rcu $@ $(objects) $(AR) ru $@ fvn_sparse/umfpack_wrapper.o $(RANLIB) $@ umfpack: ( cd fvn_sparse/UMFPACK ; make ) ( cd fvn_sparse ; $(CC) $(CFLAGS) -c umfpack_wrapper.c -IUMFPACK/Include -IAMD/Include -IUFconfig -o umfpack_wrapper.o) fnlib: ( cd fvn_fnlib ; make )