如何使用make为每个文件调用命令?

米尔克

所以我在下面的Makefile上苦苦挣扎:

src := $(wildcard *.c)
bin := $(src:%.c=out/%)

.PHONY: all
all: $(bin)

.PHONY: clean
clean:
    rm -r out

out:
    mkdir $@

$(bin): $(src) | out
    $(CC) -Iincludes/ -Wall $< -o $@

假设我有以下目录:

$ ls
includes/ Makefile test1.c test2.c

然后,我希望发生以下情况:

$ make
mkdir out
cc -Iincludes/ -Wall test1.c -o out/test2
cc -Iincludes/ -Wall test2.c -o out/test1

但是实际上发生了什么:

$ make
mkdir out
cc -Iincludes/ -Wall test2.c -o out/test2
cc -Iincludes/ -Wall test2.c -o out/test1

我有点不想围绕其他解决方案建议移动文件

我很确定这一定很容易,但是我迷路了。感谢您的帮助。

破折号

考虑更改“ $(bin)”规则:

out/%: %.c
    $(CC) -Iincludes/ -Wall $< -o $@

现有规则表明每个程序都依赖于所有源文件,并且可以通过编译($ <)FIRST源文件来构建每个程序。修改后的规则表明echh程序依赖于具有相同名称的.c

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何为每个结果调用命令?

来自分类Dev

如何使用命令参数从<custom action />调用.exe文件

来自分类Dev

使用Automake为bin_SCRIPTS中的每个文件应用命令

来自分类Dev

Shell如何在目录中的每个文件上使用命令

来自分类Dev

使用命令调用Powershell时如何充分抑制错误?

来自分类Dev

使用命令调用Powershell时如何充分抑制错误?

来自分类Dev

python tkinter按钮如何使用命令调用函数

来自分类Dev

如何使用命令中的参数调用函数

来自分类Dev

使用makefile进行编译时,如何在不使用命令“ make clean”的情况下清除目标文件?

来自分类Dev

如何使用命令行创建WAR文件?

来自分类Dev

如何使用命令通过FTP覆盖文件?

来自分类Dev

如何使用命令行生成Java CAP文件

来自分类Dev

如何使用命令行创建.sln文件

来自分类Dev

如何在以“-”开头的文件上使用命令

来自分类Dev

如何使用命令行重命名文件

来自分类Dev

如何使用命令通过FTP覆盖文件?

来自分类Dev

如何使用命令行删除大量的._文件

来自分类Dev

如何使用命令行方法从DVD恢复文件?

来自分类Dev

如何使用命令行编辑配置文件?

来自分类Dev

如何使用命令行修剪文件?

来自分类Dev

如何使用命令行删除Time Machine文件

来自分类Dev

如何使用命令行复制多个文件?

来自分类Dev

如何使用命令行下载 zip 文件

来自分类Dev

如何使用命令或脚本重命名多个文件

来自分类Dev

如何使用命令行编译java文件?

来自分类Dev

如何在Emacs中调用命令

来自分类Dev

如何从shell执行库调用命令?

来自分类Dev

如何从字符串调用命令?

来自分类Dev

从另一个python文件使用命令行参数调用Python文件

Related 相关文章

热门标签

归档