【问题标题】:Append compiler flags when running make运行 make 时附加编译器标志
【发布时间】:2017-06-08 00:25:43
【问题描述】:

我想在运行 make 时将标志附加到编译器标志,而不用任何方式更改 Makefile,例如

make CXX_FLAGS+='-DDEBUG'

上面将“+=”视为“=”,所以它不是正确的符号。

【问题讨论】:

    标签: c++ makefile compilation gnu-make compiler-flags


    【解决方案1】:

    您只需在 Makefile 中将变量修改为 override 一次。然后你就可以做你想做的事了。

    这是一个例子,

    生成文件:

    override CFLAGS+=-g                                                                                    
    
    app: main.c
      gcc $(CFLAGS) -o app main.c
    

    运行make:

    $ make
    gcc -g -o app main.c
    

    在命令中将“-Wall”附加到 $CFLAGS:

    $ make CFLAGS=-Wall
    gcc -Wall -g -o app main.c
    

    在这里工作正常。这是manual,您可以参考。

    【讨论】:

    • 如果订单很重要,请使用override CFLAGS := -g $(CFLAGS)
    • 挑剔问题:假设我有一个定义 SKIP_FEATURE。如果已定义,我不想编译源文件 feature.cpp 和/或不链接 feature.o。我将如何做到这一点?
    猜你喜欢
    • 2019-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多