请教Makefile文件multiple target patterns问题

jiahaitaoo 2009-10-30 06:13:36
自己写了一个makefile文件,很简单,就是几个模块先后编译,但是总是说我multiple target patterns。谁能帮忙给看看啊
# execute file name
EXE=scft
# gcc comoiler
F90=gfortran
FAST=-ffree-form
LINK=-ffree-form -lgfortran

scft: main.o const_mod.o nrutil_mod.o string_mod.o chemistry_mod.o chains_mod.o\
dens_ener_mod.o grid_mod.o io_mod.o random_mod.o diffusion_mod.o iterate_mod.o
$(F90) $(LINK) -o $(EXE) main.o const_mod.o nrutil_mod.o string_mod.o chemistry_mod.o chains_mod.o\
dens_ener_mod.o grid_mod.o io_mod.o random_mod.o diffusion_mod.o iterate_mod.o

main.o: main.f const_mod.o nrutil_mod.o chains_mod.o iterate_mod.o\
dens_ener_mod.o grid_mod.o io_mod.o chemistry_mod.o string_mod.o
$(F90) $(FAST) -c main.f90

const_mod.o: const_mod.f90
$(F90) $(FAST) -c const_mod.f90

nrutil_mod.o: nrutil_mod.f90
$(F90) $(FAST) -c nrutil_mod.f90

string_mod.o: string_mod.f90
$(F90) $(FAST) -c string_mod.f90

chemistry_mod.o: chemistry_mod.f90 nrutil_mod.o const_mod.o
$(F90) $(FAST) -c chemistry_mod.f90

chains_mod.o: chains_mod.f90 chemistry_mod.o nrutil_mod.o const_mod.o string_mod.o
$(F90) $(FAST) -c chains_mod.f90

dens_ener_mod.o: dens_ener_mod.f90 chemistry_mod.o const_mod.o grid_mod.o:
$(F90) $(FAST) -c dens_ener_mod.f90

grid_mod.o: grid_mod.f90 const_mod.o nrutil_mod.o
$(F90) $(FAST) -c grid_mod.f90

io_mod.o: io_mod.f90 const_mod.o nrutil_mod.o string_mod.o
$(F90) $(FAST) -c io_mod.f90

random_mod.o: random_mod.f90 const_mod.o
$(F90) $(FAST) -c random_mod.f90

diffusion_mod.o: diffusion_mod.f90 const_mod.o grid_mod.o
$(F90) $(FAST) -c diffusion_mod.f90

iterate_mod.o: iterate_mod.f90 const_mod.o random_mod.o nrutil_mod.o chains_mod.o\
dens_ener_mod.o grid_mod.o io_mod.o chemistry_mod.o
$(F90) $(FAST) -c iterate_mod.f90
...全文
2021 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yang_shi_tao 2011-01-13
  • 打赏
  • 举报
回复
$(F90)起头的一行要先按TAB键。
yueyinggufan 2009-11-01
  • 打赏
  • 举报
回复
这么NB 直接写MAKEFILE 我一开始就用gnu工具链,佩服,顶下
jeff_jian 2009-10-31
  • 打赏
  • 举报
回复
dens_ener_mod.o: dens_ener_mod.f90 chemistry_mod.o const_mod.o grid_mod.o:
$(F90) $(FAST) -c dens_ener_mod.f90

最后多了个":",当然会说多个目标匹配了。

23,132

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧