代码之家  ›  专栏  ›  技术社区  ›  arceus

在内核makefile中的函数中添加注释

  •  1
  • arceus  · 技术社区  · 7 年前

    假设在内核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手册中得到以下句子:

    不能在变量引用或函数调用中使用注释: #的任何实例都将按字面处理(而不是作为开始 注释的)在变量引用或函数调用内。

    是否可以添加评论或否?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Aaron Digulla    7 年前

    由于不能使用注释禁用代码,因此必须定义一个新函数 opt_verify_kallsyms .使用标志来控制函数的主体。如果未设置该标志,则使新函数展开为 $(verify_kallsyms) .如果设置了标志,则将其扩展为零。