gpt4 book ai didi

makefile - GNU Make 列出自上次调用 make 以来修改过的源文件?

转载 作者:行者123 更新时间:2023-12-01 12:52:20 26 4
gpt4 key购买 nike

我知道

根据哪些源文件已更改,自动确定需要更新哪些文件。它还会自动确定更新文件的正确顺序,以防一个非源文件依赖于另一个非源文件。

因此,如果您更改几个源文件然后运行 ​​Make,它不需要重新编译您的所有程序。它仅更新那些直接或间接依赖于您更改的源文件的非源文件。

现在我想知道是否可以让Make列出这些修改过的源?

最佳答案

你需要一个虚拟文件,它使用你所有的源作为先决条件:

mod_list: foo.c bar.cc baz.cpp
@echo modified sources: $?
@touch $@

您可以将源列表保留为单独的变量:

WATCHED_SOURCES = foo.c bar.cc baz.cpp
mod_list: $(WATCHED_SOURCES)
@echo modified sources: $?
@touch $@

或者使用通配符查看所有存在的源:

WATCHED_SOURCES = $(wildcard *.c *.cc *.cpp *.whatever)
mod_list: $(WATCHED_SOURCES)
@echo modified sources: $?
@touch $@

关于makefile - GNU Make 列出自上次调用 make 以来修改过的源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11498901/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com