条件语句取决于 Makefile 中的成功编译

发布于 2024-12-03 10:08:23 字数 310 浏览 1 评论 0原文

对于 makefile,我试图让它在编译成功的情况下运行一个代码块,否则运行一个 else 块。

我已经尝试过类似的方法

default:
ifeq ($(gcc -obuild main.c), 0)
    echo "successful"
else
    echo "you fail lol"
endif

但是我无法按照我的代码建议的方式评估编译命令。我认为它可以像 Bash 一样工作,但似乎不是,或者我错过了一些我不知道的东西。

我怎样才能完成这个任务?

For a makefile, I am trying to make it run a block of code in case of successful compilation, or an else block otherwise.

I have tried something like this

default:
ifeq ($(gcc -obuild main.c), 0)
    echo "successful"
else
    echo "you fail lol"
endif

But I cannot get the compilation command to be evaluated as my code suggests that I want. I thought that it could work like Bash but it seems that not, or I am missing something I dont know.

How can I accomplish this task?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

女中豪杰 2024-12-10 10:08:23

使用 shell 执行此操作,而不是使用 Make:

default:
    if gcc -obuild main.c  ; then \                                        
echo "sucessful" ; \
else echo "you fail" ; fi

请注意,只有命令的第一行 (if...) 以制表符开头。

Do it with the shell, not with Make:

default:
    if gcc -obuild main.c  ; then \                                        
echo "sucessful" ; \
else echo "you fail" ; fi

Note that only the first line of the commands (if...) starts with a tab.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文