假设在内核makefile中有类似下面的函数。
define rule_vmlinux__
:
$(if $(CONFIG_KALLSYMS),,+$(call cmd,vmlinux_version))
$(call cmd,vmlinux__)
$(Q)echo 'cmd_$@ := $(cmd_vmlinux__)' > $(@D)/.$(@F).cmd
$(Q)$(if $($(quiet)cmd_sysmap), \
echo ' $($(quiet)cmd_sysmap) System.map' &&) \
$(cmd_sysmap) $@ System.map; \
if [ $$? -ne 0 ]; then \
rm -f $@; \
/bin/false; \
fi;
$(verify_kallsyms)
$(Q)$(if $($(quiet)cmd_arm1136_cid_scan), \
echo ' $($(quiet)cmd_arm1136_cid_scan)' &&) \
$(cmd_arm1136_cid_scan)
endef
我想在此功能中发表评论(比如$(verify_kallsyms)
)。我尝试使用pound(#)
和@
,但它不起作用。我从gnu手册中得到了以下句子:
您不能在变量引用或函数调用中使用注释: 任何#的实例都将按字面意思处理(而不是作为开头 在变量引用或函数调用中。
是否可以添加评论或没有?
答案 0 :(得分:1)
由于您无法使用注释来禁用代码,因此您必须定义新函数opt_verify_kallsyms
。使用标志来控制函数的主体。如果未设置标志,请将新功能展开为$(verify_kallsyms)
。如果设置了标志,则将其展开为空。