我有一个制作规则:
%.mod: %.f90
$(FORTRAN) $(FFLAGS) $< -o $(@:.mod=.o)
mv $(@:.mod=.o) obj
(并且命令前有标签,但我不知道如何让它们出现在这里)
这行得通,但是当我尝试一次性完成时...
%.mod: %.f90
$(FORTRAN) $(FFLAGS) $< -o obj/$(@:.mod=.o)
make 不解析最终的宏。它仅向编译器发送“obj/”,编译器当然无法处理它。有人可以向我解释为什么,以及如何比我在第一个版本中更有效地重写这条规则吗?
此外,我真正在做的是试图让 make 了解某些文件依赖于 .mod 文件,这就是更新 .mod 文件的方式。任何人都知道如何做到这一点,而无需使用 makedepend 或 cmake 之类的东西?谢谢!