C 如何为 MPI 程序创建 Makefile?

use*_*351 4 c linux makefile mpi

我有 3 个 C 文件,它们都构成一个 C 程序。其中一个是 MPI 文件,称为 mpi.c,其他是 read.c 和 write.c。我不知道如何在我的 Makefile 中包含 mpi.c,到目前为止我得到了(这是错误的):

   all: program

   program: mpi.o read.o write.o
        mpicc mpi.o read.o write.o -o program // I think this line is wrong

   mpi.o: mpi.c
        mpicc -o mpi.o mpi.c

   read.o: read.c
        gcc -c read.c -o read.o

   write.o: write.c
       gcc -c write.c -o write.o

   clean:
       rm -f write.o read.o mpi.o program core *~
Run Code Online (Sandbox Code Playgroud)

Win*_*ute 5

我认为是这一行:

mpicc -o mpi.o mpi.c
Run Code Online (Sandbox Code Playgroud)

它应该是

mpicc -c mpi.c -o mpi.o
Run Code Online (Sandbox Code Playgroud)

或者干脆

mpicc -c mpi.c
Run Code Online (Sandbox Code Playgroud)

它的立场是,它试图将 mpi.c 单独编译成一个名为 mpi.o 的程序,而 mpi.o 应该只是一个目标文件。