首页 > 帮我看看这个makefile怎么执行的

帮我看看这个makefile怎么执行的

我的makefile文件如下

file1 file2 file3 : 2.txt 3.txt 4.txt
    @echo $@ 
    @echo $*
    @echo $<
    @echo $^
    @echo $?

2.txt 3.txt 4.txt : 1.txt
    @echo $@ 
    @echo $*
    @echo $<
    @echo $^
    @echo $?

1.txt 2.txt 3.txt 4.txt都是存在的文件,其中1.txt比其他三个txt文件新,而file1 file2 file3是不存在的,然后执行makefile得到的结果如下
$ make
2.txt

1.txt
1.txt
1.txt
3.txt

1.txt
1.txt
1.txt
4.txt

1.txt
1.txt
1.txt
file1

2.txt
2.txt 3.txt 4.txt
2.txt 3.txt 4.txt
2.txt 3.txt 4.txt最为目标都执行了一遍,file1执行了一遍,file2和file3为什么没有执行呢,是不是file1是最终的目标,而file2,file3虽然写在一个合并的命令里边,但是和整个关系链没有关系,所以不执行。

【热门文章】
【热门文章】