我正在查看CyanogenMod代码,尝试让设备运行最新版本。在build/core/binary.mk Makefile中,有一条规则看起来像这样:
虽然我对Makefiles并不是很熟悉,但我从未见过类似 A: B: C 的规则。起初我认为这意味着 C 是目标 B 的正常和仅顺序先决条件的前提条件列表,而 B 的目标是 A 的前提条件,但我意识到这不可能是正确的,因为(我认为)Make没有一些隐式规则来从其他.o文件生成.o文件。这种语法是什么意思?
$(gen_c_objects): $(intermediates)/%.o: $(intermediates)/%.c $(yacc_cpps) $(proto_generated_headers) \
$(LOCAL_ADDITIONAL_DEPENDENCIES) \
| $(my_compiler_dependencies)
$(transform-$(PRIVATE_HOST)c-to-o)
虽然我对Makefiles并不是很熟悉,但我从未见过类似 A: B: C 的规则。起初我认为这意味着 C 是目标 B 的正常和仅顺序先决条件的前提条件列表,而 B 的目标是 A 的前提条件,但我意识到这不可能是正确的,因为(我认为)Make没有一些隐式规则来从其他.o文件生成.o文件。这种语法是什么意思?