为什么此MakeFile规则有两个冒号?

问题描述 投票:1回答:1
$(EXEX) : main% : $(OBJS) pp%.o
    gcc $(FLAGS) $^ -o $@

我只是想了解以上内容。据我了解,EXEX中的所有内容都是将使用以下模式构建的目标。

main,OBJS和pp.o是EXEX中事物的前提条件。第二行将使用gcc并将$ FLAGS中的所有标志作为目标文件使用gcc编译$ ^(表示所有先决条件),以便构建$ @,这是EXEX的内容。需要建立所有这些-o的规则。

我的问题是为什么会有两个冒号?这是两个规则吗?main%表示= main带有任何文件结尾吗?为什么我们需要pp%.o中的%,在这种情况下这意味着什么?它似乎有很多目的。

gcc makefile
1个回答
2
投票

这是static pattern rule。请参阅链接的GNU make文档。

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