我应该如何处理这个makefile?

我应该如何处理这个makefile?,makefile,Makefile,此生成文件的输出为: $cat makefile AA:=3 .PHONY:all all:test1.o test2.o @echo all AA=${AA} @gcc test1.o test2.o -o test test1.o:test1.c @echo 1 AA=${AA} @gcc -c test1.c -o test1.o AA:=2 test2.o:test2.c @echo 2 AA=${AA} @gcc -c test

此生成文件的输出为:

$cat makefile

 AA:=3

.PHONY:all
all:test1.o test2.o
    @echo all AA=${AA}
    @gcc test1.o test2.o -o test

test1.o:test1.c
    @echo 1 AA=${AA}
    @gcc -c test1.c -o test1.o

AA:=2
test2.o:test2.c
    @echo 2 AA=${AA}
    @gcc -c test2.c -o test2.o

.PHONY:clean
clean:
    rm -f *.o
    rm -f *~
但是我想要这样的输出:

1 AA=2
2 AA=2
all AA=2
我尝试了一些方法,但都失败了。 我该怎么办?谢谢

尝试变量:

1 AA=3
2 AA=2
all AA=3
尝试变量:

1 AA=3
2 AA=2
all AA=3

我认为你把整个概念理解错了一个makefile不一定按照“条件”相同的顺序执行这也取决于依赖项的最后修改日期和基本上所有的规则,所以这里有一个教程,我希望能对你有所帮助:我认为你用错误的方式理解了整个概念,一个生成文件不一定按照“条件”相同的顺序执行这也取决于依赖项的最后修改日期以及基本上所有的规则,因此我希望这里有一个教程可以帮助您: