Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Makefile模式将所有源文件编译为可执行文件_Makefile - Fatal编程技术网

Makefile模式将所有源文件编译为可执行文件

Makefile模式将所有源文件编译为可执行文件,makefile,Makefile,我希望我的makefile能够识别并构建目录中的每个源文件 .f文件及其可执行文件都存在于当前目录中。所有源文件都是简短、独立的部分(彼此之间没有链接)。我希望可执行文件的名称与源文件sans.f(foo.f->foo)的名称相同 以下操作不起作用: FC=gfortran % :: %.f ${FC} -Wall $< -o $@ FC=gfortran %::% ${FC}-Wall$

我希望我的makefile能够识别并构建目录中的每个源文件

.f文件及其可执行文件都存在于当前目录中。所有源文件都是简短、独立的部分(彼此之间没有链接)。我希望可执行文件的名称与源文件sans.f(foo.f->foo)的名称相同

以下操作不起作用:

FC=gfortran

% :: %.f
    ${FC} -Wall $< -o $@
FC=gfortran
%::%
${FC}-Wall$<-o$@
当我跑的时候,我得到
make:**无目标。停止。


如何让make做我想做的事?

以下make文件满足我的要求:

FC=gfortran
FFLAGS=-Wall

SRC = $(wildcard *.f)
EXE = $(SRC:.f=)

all : $(EXE)