Need help with makefile for multiple source files

Randall Mackie rlmackie862 at
Thu Jun 4 12:24:16 CDT 2009

Hi Xiaoyin,

I'm not sure what I do is the most elegant, but it works well for me.
First, I use a program called makedepf90, which you can find here:

This program was designed for f90 and modules and it creates the
dependency list you need to compile f90 programs. It puts this
in a .depend file.

Then, my makefile is simple:

# Include the dependency-list created by makedepf90 below

include .depend

CFLAGS         =
FFLAGS         =
CPPFLAGS         =
FPPFLAGS         =

include ${PETSC_DIR}/conf/base

csemfwd: ${FOBJ}  chkopts

depend .depend:
	makedepf90 -o DO_NOT_COMPILE *.f *.F > .depend


Of course, you can modify this to suit your own needs.

Good luck,

Randy M.

xiaoyin ji wrote:
> Hi,
> I've got a .F90 code using PETSc ksp solver working, and now I'm
> trying to separate the module (which contains parameter define and
> PETSc include files) and main program into two .F90 files. I have
> trouble with the makefile now because I cannot find the example
> makefile for such purpose, it seems all PETSc example makefiles are
> for single code only.
> Thank you very much!
> Best,
> Xiaoyin Ji
> ----------------------------------------------
> Xiaoyin Ji
> Graduate Student
> Department of Materials Science and Engineering
> North Carolina State University

More information about the petsc-users mailing list