当我们重复执行全部命令时会发生什么?

问题描述 投票:0回答:1

我试图了解makefile如何工作。这是一个示例makefile:

all: prog
x.o: x.cpp globals.hh
$(CC) -c x.cpp
y.o: y.cpp globals.hh
$(CC) -c y.cpp
prog: x.o y.o
$(LD) -o prog x.o y.o -lc

如果执行make file,然后在x.cpp中进行一些更改,然后重复make all,请重新运行哪些命令?据我了解,以下命令将重新运行:

$(CC) -c x.cpp
and
-o prog x.o y.o -lc

并且如果我改头文件,我认为当我再次制作全部文件时,这三个文件都将重新运行。我对么?顺序是什么?

[此外,我试图了解makefile的依赖关系图如何。我知道x.o,y.o和prog都是这里的目标。但是我的逻辑有意义吗?enter image description here

c++ c makefile dependencies dependency-graph
1个回答
0
投票

似乎对我来说正确。在该订单上找不到任何文档,但是我的测试表明,该文档可能会按照Makefile中指定的顺序从上到下运行,并使用依赖关系逻辑来确定要运行的what

© www.soinside.com 2019 - 2024. All rights reserved.