【问题标题】:how to change default behavior of make如何更改make的默认行为
【发布时间】:2023-03-27 14:25:01
【问题描述】:

嘿嘿,

我想更改“make”的默认行为。
我希望它在编译 c 文件时运行以下命令:

clang 文件.c -std=c99 -Wall -Werror -fcolor-diagnostics -lcs50 -lm

有没有“nooby”的方式来做到这一点?

提前谢谢,

汤姆


如果搜索了论坛并尝试了谷歌 - 什么都没有出现。但很可能,我不知道到底要搜索什么......所以如果在其他地方得到答案,我真的很抱歉......

【问题讨论】:

    标签: compiler-construction compilation makefile


    【解决方案1】:

    把它放到你的 bash 启动脚本中:

    export CC=clang CFLAGS="-std=c99 -Wall -Werror -fcolor-diagnostics" LDLIBS="-lcs50 -lm"
    

    最好将这些行放在您的Makefile 中(对于简单的情况,您不需要更多内容,但您可能需要添加依赖行):

    CC=clang
    CFLAGS=-std=c99 -Wall -Werror -fcolor-diagnostics
    LDLIBS=-lcs50 -lm
    

    更好的是创建一个正确的Makefile,但以上内容将帮助您入门。

    您可以使用任何文本编辑器创建Makefilemake 在当前目录中查找Makefile(通常称为Makefile,但也可以称为makefile)。只需将其与C 程序放在同一目录中即可。

    【讨论】:

    • 非常感谢。我实际上想创建一个 makefile - 并且已经找到了 cflag 命令。据报道,没有找到“没有生成文件”。我在哪里可以创建这样的makefile(放在哪里如何创建一个......)我发现了很多(gnumake man)关于语法,但不知道如何创建一个以及放在哪里。我想创建只是 gedit - 把它放在哪里?我必须告诉 make 他们是在哪里找到的吗?
    • @LeTigre,Makefile 只是一个文本文件;您可以使用任何文本编辑器创建它。将其命名为makefile 最方便,并将其放在您将运行make 的目录中(例如包含file.c 的目录)。如果你不这样做,你必须告诉 Make 它在哪里 (make -f path/to/the/makefileName)。
    • @LeTigre,就像 beta 所说的那样。我在答案中添加了一个段落。
    • 这很棒 - 非常感谢。我很乐意给你积分 - 但我似乎必须先赢得声誉
    • 我现在将它添加到 .bashcr 并且将使用(现在我知道如何......)makefile 用于更特殊的场合,例如在一个文件夹中编写更大的东西。我真的很感激帮助!再次感谢! - 它就像一个魅力!
    猜你喜欢
    • 1970-01-01
    • 2022-08-16
    • 1970-01-01
    • 1970-01-01
    • 2016-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    相关资源
    最近更新 更多