gpt4 book ai didi

linux - 在命令行中将 CFLAGS 传递给 Makefile

转载 作者:太空宇宙 更新时间:2023-11-04 09:57:52 25 4
gpt4 key购买 nike

我正在尝试监控 Makefile 项目的覆盖率。

CFLAGS=" -fprofile-arcs -ftest-coverage -g" make test

但上面的命令似乎不起作用,产生了以下内容:

gcc -DHAVE_CONFIG_H -I. -I..  -I..   -g -O2 -MT test.o -MD -MP -MF .deps/test.Tpo -c -o test.o test.c
mv -f .deps/test.Tpo .deps/test.Po
/bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I.. -g -O2 -MT gaussian.lo -MD -MP -MF .deps/gaussian.Tpo -c -o gaussian.lo gaussian.c

从第一行可以看出,在调用gcc的时候,CFLAGS没有很好的加入。如何在启动“make”时将 cflags 包含在 gcc 的构建选项中?

如果重要的话,我在 Ubuntu 14 上使用 Bash。

最佳答案

从环境中获得的变量,也就是你这样做的方式,比在 makefile 中设置的变量具有更低的优先级。因此,如果您的 makefile 直接设置 CFLAGS 变量,例如:

CFLAGS = -g -O2

然后在环境中设置它不会覆盖此设置。

您可以改为向命令行添加变量赋值:它们优先于 makefile 中设置的几乎所有内容。所以使用:

make test CFLAGS=" -fprofile-arcs -ftest-coverage -g"

相反。

参见 https://www.gnu.org/software/make/manual/html_node/Values.html

关于linux - 在命令行中将 CFLAGS 传递给 Makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58711815/

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