Well, that really should have it but it does not and I, being the highly talented product tester that I am, did not find it.
On Thu, Jan 13, 2022 at 9:54 PM Jacob Faibussowitsch <jacob....@gmail.com> wrote: > Is share/petsc/Makefile.user what you are looking for? > > Best regards, > > Jacob Faibussowitsch > (Jacob Fai - booss - oh - vitch) > > On Jan 13, 2022, at 21:49, Barry Smith <bsm...@petsc.dev> wrote: > > > > https://petsc.org/release/docs/manual/getting_started/?highlight=user%20makefile > > Search for Writing Application Codes with PETSc > > Perhaps this needs to clearer or have links to it from the FAQ. > > > > On Jan 13, 2022, at 9:38 PM, Mark Adams <mfad...@lbl.gov> wrote: > > I am finding it pretty hard to find an example of a makefile target to > build an app with PETSc. > > I can not find it on the docs page. > > With Google: > > Victor has a little example that looks fine ($PETSC_LIB). (sort of, see > below) > > Another one is bigger and has this at the end: > > -${CLINKER} $< -o bin.x $(OBJ_FILES) ${PETSC_KSP_LIB} > -I$(PETSC_DIR)/include > > I recall using PETSC_KSP_LIB the last time I wrote a makefile 20 years ago. > > Maybe there should be a FAQ that a search would find like "Example of user > makefile" with something like Victor's (dropping v2 and updating it, this > looks wrong): > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > *PETSc linkingThe easiest way to link PETSc to your code is to have this > line in your makefile:include ${PETSC_DIR}/conf/baseThis will automatically > give you the compilation rules. For linking you then do:${CLINKER} -o ex1 > ex1.o ${PETSC_LIB}(or FLINKER for fortran)You can also use this include > line:include ${PETSC_DIR}/conf/variablesand then you have to give the > compile rules yourself. In this case, dosomething like${CC} -c ex1.c > ${PETSC_INCLUDE}to compile. (This is for petsc version 3, for version 2 > useinclude ${PETSC_DIR}/bmake/common/baseand replace base by variables to > omit petsc’s make rules.)If you insist on having all the libraries and > includes explicitly, usemake getlinklibsmake getincludedirs* > > > > >