gpt4 book ai didi

makefile - 如何将警告视为 Makefile 中的错误?

转载 作者:行者123 更新时间:2023-12-04 11:41:53 31 4
gpt4 key购买 nike

  • 是否可以将警告视为 Makfile 中的错误(从而在 Makefile 继续之前退出)
  • 此外,是否可以过滤掉哪个警告产生错误?

  • 我的用例:我想使用 --warn-undefined-variables与此结合,以便在 undefined variable 时 Makefile 将退出,这是一个非常常见的错误来源。显然我不想手动检查每个变量,因为这容易出错/乏味。我在这方面找不到任何东西,但这是一个非常重要/基本的功能。

    注意:我不是在寻找 -Werror这是一个不适用于我的用例的 gcc 特定命令。

    最佳答案

    如果您准备为每个目标添加依赖项,则可以将警告转化为错误。

    这是一个包含错误的 make 文件(“SRCS”而不是“SRC”):

    # Turn on the warning we want
    MAKEFLAGS += --warn-undefined-variables

    # Make sure MAKECMDGOALS is defined, so it doesn't cause an error itself
    ifndef MAKECMDGOALS
    MAKECMDGOALS = all
    endif

    SRC=hello.c

    all: compile

    # Fails if the Makefile contains any warnings.
    # Run this Makefile with the same goals, but with the -n flag.
    # Grep for warnings, and fail if any are found.
    no-make-warnings:
    ! make -n $(MAKECMDGOALS) 2>&1 >/dev/null | grep warning

    # Targets you want to check must depend on no-make-warnings
    compile: no-make-warnings
    gcc -o hello $(SRCS)

    当我运行它时,我看到:
    $ make
    ! make -n all 2>&1 >/dev/null | grep warning
    Makefile:17: warning: undefined variable `SRCS'
    make: *** [no-make-warnings] Error 1

    你只需要让你想要检查的每个目标都依赖于目标 no-make-warnings .

    如果有人知道如何自动执行此操作,请加入。

    关于makefile - 如何将警告视为 Makefile 中的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10859916/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com