首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从make文件中禁用make内置规则和变量

可以通过在make文件中使用特定的语法来实现。具体来说,可以通过在make文件中定义一个空的规则来禁用make内置规则,同时可以通过在make文件中重新定义变量来覆盖make内置变量的值。

禁用make内置规则的方法是在make文件中添加以下内容:

代码语言:txt
复制
.SUFFIXES:
%: %,v
%: RCS/%,v
%: RCS/%
%: s.%
%: SCCS/s.%
%: %,v %,v
%: RCS/%,v %,v
%: RCS/% %,v
%: s.% %,v
%: SCCS/s.% %,v

这些规则会覆盖make内置的默认规则,使其失效。

禁用make内置变量的方法是在make文件中重新定义这些变量的值。例如,要禁用make内置的CC变量(用于指定C编译器),可以在make文件中添加以下内容:

代码语言:txt
复制
CC =

这将把CC变量的值设置为空,从而禁用make内置的C编译器。

需要注意的是,禁用make内置规则和变量可能会导致一些意外的结果,因为这些规则和变量通常是为了方便和提高效率而存在的。在禁用它们之前,建议仔细考虑是否真的需要这样做,并确保了解禁用后可能产生的影响。

关于make文件的更多信息和使用方法,可以参考腾讯云的产品文档:Makefile

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Make 命令教程

比如,假设文件 a.txt 依赖于 b.txt c.txt ,是后面两个文件连接(cat命令)的产物。那么,make 需要知道下面的规则。...像这样的规则,都写在一个叫做Makefile的文件Make命令依赖这个文件进行构建。Makefile文件也可以写为makefile, 或者用命令行参数指定为其他文件名。...$ make -f rules.txt # 或者 $ make --file=rules.txt 上面代码指定make命令依据rules.txt文件规则,进行构建。...f1.o: f1.c f2.o: f2.c 使用匹配符%,可以将大量同类型的文件,只用一条规则就完成构建。 3.5 变量赋值符 Makefile 允许使用等号自定义变量。...3.6 内置变量(Implicit Variables) Make命令提供一系列内置变量,比如,$(CC) 指向当前使用的编译器,$(MAKE) 指向当前使用的Make工具。

2K40

浅谈 Make 命令

比如,假设文件 a.txt 依赖于 b.txt c.txt ,是后面两个文件连接(cat命令)的产物。那么,make 需要知道下面的规则。...像这样的规则,都写在一个叫做Makefile的文件Make命令依赖这个文件进行构建。Makefile文件也可以写为makefile, 或者用命令行参数指定为其他文件名。...$ make -f rules.txt # 或者 $ make --file=rules.txt 上面代码指定make命令依据rules.txt文件规则,进行构建。...f1.o: f1.c f2.o: f2.c 使用匹配符%,可以将大量同类型的文件,只用一条规则就完成构建。 3.5 变量赋值符 Makefile 允许使用等号自定义变量。...3.6 内置变量(Implicit Variables) Make命令提供一系列内置变量,比如,$(CC) 指向当前使用的编译器,$(MAKE) 指向当前使用的Make工具。

1.3K10

Makefile教程

3.Makefile内容 Makefile里主要包含了五个东西:显式规则、隐晦规则变量定义、文件指示注释。 1.显式规则。显式规则说明了,如何生成一个或多个的目标文件。...6.多源文件目录的简单模板 通过上面简单示例可以大致了解Makefile的基本编写方法与内容,实际上,Makefile可以通过make自动推导特性、内置变量、自动化变量函数等编写地更加简洁优雅,并且可以模板化...(1)Makefile内置变量 $@、$^、$<、$? 。 $@ 表示目标文件,$^ 表示所有的依赖文件,$< 表示第一个依赖文件,$? 表示比目标还要新的依赖文件列表。...7.6Makefile中三个内置变量:$@、$<$^ $@,$<,$^代表的意义分别是: $@:目标文件; $<:第一个依赖文件; $^:所有的依赖文件。...8.小结 实际上,Makefile还有很多基础知识点复杂的特性并未在文中赘述,比如各种函数的用法、嵌套执行make、双后缀规则、定义命令包等,这些需要我们在实际使用过程中去熟悉掌握。

3.9K53

【makefile】

make并不会完全马上展开,make使用的是拖延战术,如果变量出现在依赖关系的规则,那么仅当这条依赖被决定要使用了,变量才会在其内部展开。...以下给出了一些主要的预定义变量,除这些变量外,GNU make 还将所有的环境变量作为自己的预定义变量。 $@ ——表示规则的目标文件集。...FC  Fortran  Ratfor 的编译器预处理程序。默认命令是“f77”。 GET SCCS文件扩展文件的程序。默认命令是“get”。...2.2隐含规则 GNU make 包含有一些内置的或隐含的规则,这些规则定义了如何从不同的依赖文件建立特定类型的目标。...2.4 Makefile的函数 在Makefile可以使用函数来处理变量,从而让命令或规则更为的灵活具有智能,函数调用,很像变量的使用,也是以“$”来标识的,函数调用后,函数的返回值可以当做变量来使用

1.9K00

makefile文件编写「建议收藏」

makefile文件用于管理组织代码工程的编译链接,其不是可执行文件,其被make工具解析并完成相关动作,下面笔者将介绍makefile中常用的一些语法说明: 1、文件包含: 语法:include...ctest2.c添加到C_SRCS,其代码如下所示: C_SRCS := C_SRCS += test1.c test2.c 在makefile中有一类特殊的变量,其名称为 自动变量,自动变量的值会依据规则的...target prerequisites自动计算其值,自动变量一般以开头$为起始,下面将列出一些常见的自动变量: $@ 为规则的target名称。...$< 为规则第一个prerequisite名称 3、内置命令: Makefile内置了一些常用的命令,有字符串处理函数subst、patsubst、strip、findstring、filter、filter-out...5、文件搜索路径设置 Make命令默认会在当前路径搜索prerequisites文件,比如头文件,但我们在写程序时,经常将头文件文件隔开放在不同的文件夹下,这种该怎么处理呢?

2.1K10

Go 项目使用 Makefile

02 make Makefile make 命令行工具可以自动判断是否需要重新编译程序,实际上 make 不仅限于程序,我们可以使用它来描述任何任务,只要其他文件发生更改,某些文件就必须其他文件自动更新...是“命令”,可以在 prerequisites 后面,使用分号分隔,也可以另起一行,但是必须以开头,如果想要使用其他键,可以使用内置变量 .RECIPEPREFIX 声明。...运行 make windows、make linux make darwin,分别构建 windows、linux drawin 操作系统的可执行文件。...因为 make 发现与“伪目标”同名的文件已存在,将不会再重新构建,所以就不会运行指定的 command,为了避免出现该问题,可以使用内置目标名.PHONY声明这些“伪目标”名是“伪目标”,而不是与“伪目标...不必如此,我们可以在 Makefile 编写一个“伪目标” help,用于描述 Makefile 的“伪目标”列表使用示例等。

1.7K20

Xmake v2.8.6 发布,新的打包插件:XPack

我们能够使用它像 Make/Ninja 那样可以直接编译项目,也可以像 CMake/Meson 那样生成工程文件,另外它还有内置的包管理系统来帮助用户解决 C/C++ 依赖库的集成使用问题。...,还有 deb 等包格式也在陆续支持,并且用户也可以配置生成自定义的包格式文件。...接着,我们需要自定义 on_installcmd 安装脚本,里面去配置如果编译源码包,我们可以简单的调用一个内置的编译安装脚本文件,也可以直接配置 make install 等编译安装命令。...我们可以通过配置 add_targets 关联需要构建的目标,在生成的 srpm 包,它会自动调用 xmake build xmake install 去构建和安装包。...修改打包文件名 我们可以在配置文件,通过 set_basename() 来修改包名,也可以通过命令行去修改它。

18010

Linux: Makefile自动化基础指南

目标(Target)规则(Rule) 在Makefile,目标规则是核心概念。目标可以是文件,也可以是伪目标(没有对应的文件),规则则定义了如何生成目标。...定义目标规则 下面是一个简单的Makefile示例,展示了如何定义目标规则: makefile # 定义变量 HOST = localhost VERSION = v1.0 # 目标:all all...# 清理目标 clean: @echo "Cleaning up" # 清理命令,例如删除生成文件 在这个示例,我们定义了三个目标:all、builddeploy。...all是一个伪目标,它依赖于builddeploy。 在Makefile调用目标 为了在Makefile调用目标,可以使用内置的$(MAKE)变量。...例如,运行以下命令: sh make HOST=10.0.0.1 VERSION=v1.0 all 这将覆盖Makefile定义的HOSTVERSION变量的默认值。

5010

Makefile 入门教程

ifeq ($(VARIABLE), value) # 条件为真时的规则命令 else # 条件为假时的规则命令 endif 例如,可以根据是否定义了 DEBUG 变量来设置不同的编译选项...$(notdir names):文件路径中提取文件名。 这些函数可以在 Makefile 中用于各种目的,例如文件操作、文本处理条件判断。...); do \ $(MAKE) -C $$dir clean; \ done 在这个示例,SUBDIRS 变量包含了子目录的列表。...$(MAKE) 是一个 Makefile 的特殊变量,用于启动另一个 Makefile。 5.4 高级变量操作 Makefile 支持高级的变量操作,包括字符串操作、条件赋值、变量展开等。...变量展开 VAR1 = $(VAR2) VAR2 = value 在这个示例,VAR1 的值将是 value,因为 Make 会递归地展开变量

28220

ESLint 使用入门 - 来自推酷

ESLint 主要有以下特点: 默认规则包含所有 JSLint、JSHint 存在的规则,易迁移; 规则可配置性高:可设置「警告」、「错误」两个 error 等级,或者直接禁用; 包含代码风格检测的规则...配置 可以通过以下三种方式配置 ESLint: 使用 .eslintrc 文件(支持 JSON YAML 两种语法); 在 package.json 添加 eslintConfig 配置块; 直接在代码文件定义...代码文件内配置的规则会覆盖配置文件里的规则。...编辑器集成 以 WebStorm 为例,只要全局安装 ESLint 或者在项目中依赖添加 ESLint ,然后在设置里开启 ESLint 即可。其他编辑可以 官方文档 获得获得具体信息。...代码风格检测 在团队协作,统一的代码风格更具可读性、可维护性。ESLint 内置了一系列有关代码风格的 规则 ,可以根据团队的编码规范设置。

1.2K50

【Linux】--- Linux编译器-gccg++、调试器-gdb、项目自动化构建工具-makeMakefile 使用

可以test.c开始编译,也可以test.i开始。...如果code.exe所依赖的code.o文件不存在,那么make会在当前文件找目标为code.o文件的依赖性,如果找到则再根据那一个规则生成code.o文件。...makefile / make会自动根据文件的依赖关系,进行自动推导,帮助我们执行所有的相关的依赖方法。 makefile文件,保存了编译器链接器的参数选项,并且描述了所有源文件之间的关系。...make程序会读取makefile文件的数据,然后根据规则调用编译器,汇编器,链接器产生最后的输出。 Makefile里主要包含了五个东西:显式规则、隐晦规则变量定义、文件指示注释。1....显式规则说明了,如何生成一个或多个目标文件。2. make有自动推导的功能,所以 隐晦规则可以让我们比较粗糙地简略地书写makefile ,比如源文件与目标文件之间的时间关系判断之类。3.

12820

Makefile 入门教程

ifeq ($(VARIABLE), value) # 条件为真时的规则命令 else # 条件为假时的规则命令 endif 例如,可以根据是否定义了 DEBUG 变量来设置不同的编译选项...•(notdir names):文件路径中提取文件名。 这些函数可以在 Makefile 中用于各种目的,例如文件操作、文本处理条件判断。...); do \ $(MAKE) -C $$dir clean; \ done 在这个示例,SUBDIRS 变量包含了子目录的列表。...$(MAKE) 是一个 Makefile 的特殊变量,用于启动另一个 Makefile。 5.4 高级变量操作 Makefile 支持高级的变量操作,包括字符串操作、条件赋值、变量展开等。...变量展开 VAR1 = $(VAR2) VAR2 = value 在这个示例,VAR1 的值将是 value,因为 Make 会递归地展开变量

19720

版本1到版本5如何编写牛逼的Makefile

最后两行解释之前说一下自动变量: $<: 规则的第一个依赖 $@: 规则的目标 $^: 规则的所有依赖 所以最后一行就变成如下图所示的情况,而%.o与%.c表示匹配每一个.o与.c文件。...3.3 版本3 引入CC变量,在Makefile中有一些内置变量,比如这里要使用的CC,我们可以对其进行赋值修改,也可以直接使用,进一步修改版本2,进一步修改版本2,变为版本3。 ?...这里就要引入一个概念,伪目标,因为make clean,会将本地磁盘与make clean后的文件进行对比,而make clean并没有生成相应的文件,所以根据Makefile特性,每次更新后必定是新的...,而本地磁盘就是现成的,那么肯定新的,就会出现上述结果。...像make这种可以生成文件,而make clean没有生成文件,称之为伪目标,此时需要在Makefile中进行声明: .PHONY: clean clean: rm *.o main 最后当我们在

87220

gdbmakefile的讲解

,从一个侧面说明了一个人是否具备完成大型工程的能力 一个工程的源文件不计数,其按类型、功能、模块分别放在若干个目录,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,...如果找到,它会找文件的第一个目标文件(target),在上面的例子,他会找到“test3”这个文件, 并把这个文件作为最终的目标文件。 3....如果test3所依赖的文件不存在,那么make会在当前文件找目标为test3.c文件的依赖性,如果找到则再根据那一个规则生成test3.c文件。(这有点像一个堆栈的过程) 5....当然,你的C文件H文件是存在的啦,于是make会生成 test3.c 文件,然后再用 test3.c 文件声明make的终极任务,也就是执行文件test了。 6....在找寻的过程,如果出现错误,比如最后被依赖的文件找不到,那么make就会直接退出,并报错,而对于所定义的命令的错误,或是编译不成功,make根本不理。

7010

使用 Make 构建网站

网站开发正变得越来越专业,涉及到各种各样的工具流程,迫切需要构建自动化。 所谓"构建自动化",就是指使用构建工具,自动实现"源码到网页"的开发流程。这有利于提高开发效率、改善代码质量。...三、Makefile的通用配置 开始构建之前,要编写Makefile文件。它是make命令的配置文件。所有任务的构建规则,都写在这个文件(参见《Make 命令教程》)。 首先,写入两行通用配置。...上面代码,shell函数调用find命令,找出lib目录下所有js文件,保存在变量js_files。然后,就可以用jshint检查这些文件。 使用时调用下面的命令。...dir函数用于取出构建目标的路径名(build),内置变量$@代表构建目标(build/templates.js)。 使用时调用下面的命令。...然后,将变量sourcefiles的coffee文件名,替换成js文件名,即 lib/x.coffee 替换成 build/x.js 。 使用时调用下面的命令。

3.2K40

Linux学习-开发工具的使用

这个工具 rz 命令: windows 机器远端的 Linux 机器通过 XShell 传输文件,使用指令 rz 则可以进行上传本地文件了 示图: sz + 文件命令: linux终端将文件发送至本地...:启用断点 示图: 注:禁用断点的作用是在使用断点后调试无误用来记录已经调试过 执行: run/r:开始连续而非单步执行程序(从新运行,有断点运行到第一个断点,否则运行完毕) next/n:...X行 示图: 五、Linux项目自动化构建工具-make/Makefile 1、背景及概念 一个工程的源文件不计数,其按类型、功能、模块分别放在若干个目录,makefile定义了一系列的规则来指定...test这个文件 如果test所依赖的文件不存在,那么make会在当前文件找目标为以依赖文件的依赖性,如果找到则再根据那一个规则生成依赖文件 这就是整个make的依赖性,make会一层又一层地去找文件的依赖关系...,直到最终编译出第一个目标文件 在找寻的过程,如果出现错误,比如最后被依赖的文件找不到,那么make就会直接退出,并报错,而对于所定义的命令的错误,或是编译不成功,make根本不理 make

3.4K20

程序员C语言快速上手——工程篇(十三)

C语言工程构建 shell脚本(bat脚本) Makefile 脚本 基本语法规则 补充说明 CMake工具 安装 简单示例 基础规则 外部构建 定义变量 内置变量 命令 指定构建环境 生成 Makefile...Makefile 脚本 Makefile 脚本文件是GNU make 工具的输入文件,它也包含一套自己的语法规则,它也能帮助C语言实现编译链接。...在Linux平台下,通常是将C语言的源代码Makefile脚本一同发布出去,用户只需要在源码目录下分别执行命令makemake install即完成了程序的编译安装,可以看到,有了make工具后,...到这里我们已经学会了cmake构建的简单流程,接下来只需要学习一下 CMakeList.txt文件的编写规则 基础规则 CMakeLists.txt文件由命令、注释空格组成,其中命令是不区分大小写的。...内置变量 在cmake已经内置了一些变量,我们可以直接使用,也可使用set命令去修改 CMAKE_SOURCE_DIR或PROJECT_SOURCE_DIR 表示工程的根目录 CMAKE_BINARY_DIR

2.9K30
领券