You configure script would have to create this makefile and "echo ${PETSC_LIB}" - and other stuff you need form a given install of PETSc - to detect what you want.
Anythings else is not portable. [And won't work across different PETSc installations - of the same version] If you want a simple solution - then you should just use PETSc from makefile directly - and not introduce an extra configure step in the middle. satish On Thu, 5 Aug 2010, Filippo Spiga wrote: > Dear Matthew, > > Matthew Knepley wrote: > > include ${PETSC_DIR}/conf/variables > > include ${PETSC_DIR}/conf/rules > > > > foo: foo.o > > ${CLINKER} -o foo foo.o ${PETSC_TS_LIB} > > I already have a Makefile. But most important I have a autoconf script that > generates my configure that generates my Makefile. So I have two > possibilities: > - modify every single Make template to use "conf/variables" and "conf/rules" > as you suggested (long, boring and useless strategy because all my current > Makefiles work. I only want to generalize the configure as much as possible > replacing one single line); > - or starting from "conf/petscvariables" I can try to compose by myself the > only information I need to generalize my scripts. > > I only need the name of the library. That's all. Or, if it was compiled > splitting it in different indipendent libraries, I need the right order to > link {PETSC_CONTRIB_BASIC, PETSC_SNES_LIB_BASIC, PETSC_KSP_LIB_BASIC, > PETSC_MAT_LIB_BASIC, PETSC_LIB_BASIC, PETSC_VEC_LIB_BASIC, PETSC_DM_LIB_BASIC, > PETSC_TS_LIB_BASIC, PETSC_SYS_LIB_BASIC}. I don't understand why > "conf/petscvariables" doesn't provide that information. I guess it's easy to > store it in one single explicit line. I'm looking for a easy way to ensure > portability, I don't want to increase the complexity of the > makefile/configure. > > If starting from the last stable release PETSc is compiled by default in one > single library (and it is), I can ignore all these stuffs until that kind of > "portability" problem will arise. I will probably do that at this point... > > Thank you very much for your explanations, > Regards > >