On Tue, 5 Oct 2010, Jed Brown wrote: > On Mon, Oct 4, 2010 at 23:26, Satish Balay <balay at mcs.anl.gov> wrote: > > Hmm - if there is a file 'xxx.c' - then bfort generates ftn-auto/xxxf.c > > It looks like generation of include/finclude/ftn-auto/*.h90 is much > less direct. The dependencies below also produce unused *.h90 files. > What is bfort using to produce these f90module.f90 files? Do you > think it's feasible to get a list of files that each *.h90 depends on?
Each time bfort is invoked there is: - one to one mapping between xxx.c -> xxxf.c - a additive mapping from all 'xxx.c' to corresponding 'f90module.f90' -> [via MANSEC in makefile to] petscprofiling.h90 etc. - Since MANSEC of multiple sourcedirs can have the same value [for eg: 'MANSEC=KSP'], multiple sourcedirs contribute to a single petscksp.h90 file. So - I guess one way to do this is: Each time things are added to petscprofiling.h90 [or equivalent] - a mapping of the sourcefiles has to be maintained for that generated file [petscprofiling.h90 etc]. This mapping for a given dir - is 'all sources corresponding to all ftn-auto/xxxf.c files' Satish > If not, I guess I'll just live with the few seconds to recompile > these and relink even though nothing changed. > > Jed > > src/sys/plog/f90module.f90 -> include/finclude/ftn-auto/petscprofiling.h90 > src/sys/verbose/f90module.f90 -> include/finclude/ftn-auto/petscprofiling.h90 > src/mat/order/f90module.f90 -> include/finclude/ftn-auto/petscmatorderings.h90 > src/mat/matfd/f90module.f90 -> include/finclude/ftn-auto/petscmatfd.h90 > src/mat/partition/f90module.f90 -> > include/finclude/ftn-auto/petscmatorderings.h90 > src/mat/partition/impls/party/f90module.f90 -> > include/finclude/ftn-auto/petscmatorderings.h90 > src/mat/partition/impls/chaco/f90module.f90 -> > include/finclude/ftn-auto/petscmatorderings.h90 > src/mat/partition/impls/jostle/f90module.f90 -> > include/finclude/ftn-auto/petscmatorderings.h90 > src/mat/partition/impls/pmetis/f90module.f90 -> > include/finclude/ftn-auto/petscmatorderings.h90 > src/mat/partition/impls/scotch/f90module.f90 -> > include/finclude/ftn-auto/petscmatorderings.h90 > src/characteristic/interface/f90module.f90 -> > include/finclude/ftn-auto/petscsemilagrange.h90 >
