如何在Makefile中命名我自己的可执行文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Makefile中命名我自己的可执行文件?相关的知识,希望对你有一定的参考价值。

我创建了以下Makefile,它的工作原理。它生成一个名为“test_Makefile_my_libs”的可执行文件,恰好是我的Fortran代码名称,后缀为“.f90”。

FC = gfortran

FCFLAGS = -g -fbounds-check
FCFLAGS = -O2

FCFLAGS += -I/usr/include

LIBDIR = /homedir/myname/Libraries/
LIBS = $(LIBDIR)/libgfortran_f.a $(LIBDIR)/libmy.a

PROGRAMS = test_Makefile_my_libs

all: $(PROGRAMS)

%: %.o
        $(FC) $(FCFLAGS) -o $@ $^ $(LIBS)

%.o: %.f90
        $(FC) $(FCFLAGS) -c $<

.PHONY: clean veryclean

clean:
        rm -f *.o *.mod *.MOD

veryclean: clean
        rm -f *~ $(PROGRAMS)

但我需要一个独立于我的源代码名称的可执行文件名称,例如“myjob.exe”。如何在不修改源代码名称的情况下在Makefile中进行适当的更改? (我尝试了许多不同的方法,但都没有。)

答案

添加规则:

myjob.exe: test_Makefile_my_libs.o
    $(FC) $(FCFLAGS) -o $@ $^ $(LIBS)

以上是关于如何在Makefile中命名我自己的可执行文件?的主要内容,如果未能解决你的问题,请参考以下文章

makefile中的.phony作用(防止在Makefile文件中定义的可执行命令的目标规则和工作目录下的实际文件出现名称冲突,并提高执行Makefile的性能)

为啥我需要运行两次 makefile 来编译我的代码

如何在Makefile中将$ dir添加到$ PATH?

程序如何删除自己的可执行文件

Makefile 在运行时无法链接库

makefile生成的文件为啥不是可执行文件