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

从makefile中排除文件

是指在使用make工具进行编译时,通过配置makefile文件,将某些文件排除在编译范围之外,不参与编译过程。

在makefile中,可以通过以下方式来排除文件:

  1. 使用通配符排除文件:可以使用通配符来匹配需要排除的文件,例如:
代码语言:txt
复制
SRC := $(wildcard *.c)
OBJ := $(patsubst %.c, %.o, $(filter-out exclude.c, $(SRC)))

上述代码中,filter-out函数用于排除名为exclude.c的文件,使其不参与编译过程。

  1. 使用变量排除文件:可以定义一个变量,将需要排除的文件名赋值给该变量,然后在编译规则中使用该变量进行排除,例如:
代码语言:txt
复制
EXCLUDE := exclude.c
SRC := $(wildcard *.c)
OBJ := $(patsubst %.c, %.o, $(filter-out $(EXCLUDE), $(SRC)))

上述代码中,filter-out函数用于排除变量EXCLUDE中定义的文件名,使其不参与编译过程。

排除文件的优势在于可以提高编译效率,避免对不需要编译的文件进行重复编译,节省时间和资源。

应用场景:

  • 当项目中包含大量文件时,可以通过排除一些不需要编译的文件,加快编译速度。
  • 当项目中有一些特殊需求,需要对某些文件进行特殊处理或排除时,可以使用排除文件的方式。

腾讯云相关产品推荐:

  • 腾讯云服务器(CVM):提供稳定可靠的云服务器实例,适用于各类应用场景。
  • 腾讯云对象存储(COS):提供高可用、高可靠、低成本的对象存储服务,适用于存储和处理各类非结构化数据。
  • 腾讯云容器服务(TKE):提供高度可扩展的容器化应用管理平台,支持快速部署、弹性伸缩和自动化运维。
  • 腾讯云数据库(TencentDB):提供多种数据库产品,包括关系型数据库、NoSQL数据库和数据仓库等,满足不同业务需求。

更多腾讯云产品介绍和详细信息,请访问腾讯云官方网站:https://cloud.tencent.com/

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

相关·内容

LinuxMakefile文件详解

dependencies: 目标文件依赖的文件列表,即生成目标文件所需要的文件。 command: 生成目标文件的命令,用于描述如何依赖文件生成目标文件。...变量 Makefile 可以定义变量,用于存储字符串、文件名、编译选项等信息。...变量 在 Makefile ,可以使用变量来存储和引用值。在上述例子,CC 和 CFLAGS 就是变量,分别存储编译器和编译选项。 13....条件语句 Makefile 可以使用条件语句,根据不同的条件执行不同的指令。...注意到这个 Makefile 的变量和规则可以根据项目的结构和需求进行适当的调整。 23. 安装规则 Makefile 可以包含安装规则,用于将可执行文件、库文件等安装到指定位置。

23810

makefile入门到入门

makefile文件是用来帮助编译和管理C++项目代码的,需要配合make命令使用。makefile里也可以执行其它shell操作,具备一部分.sh脚本的功能。...多数情况下,命令都是起到了依赖生成目标的功能。例如从.cpp文件生成.o文件,那么命令一定包括g++和一些编译参数的完整的编译命令。...也可以是独立的,例如目标1 2 3就是三个独立的可执行文件,或者三个动态库,那么他们之间是可以完全没有依赖关系的,写在一个makefile文件里只是便于统一管理。 命令前要以一个tab开头 。...) { using namespace std; int i =1 ; int j = 2; j += 3; cout << j<<endl; } makefile文件文件就是makefile...的“目标1”test是个可执行文件,也是最终我们需要的东西。

1.3K10

Makefile入门到上手

一个工程的源文件不计其数,并且按类型、功能、模块分别放在若干个目录makefile 定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作...说白了,Makefile 就是用来管理项目的。 你见到的 xxx.mk 文件或者 Makefile 都统称为 Makefile 脚本文件。...在 Makefile ,目标和依赖是通过规则(rule)来表达的。 makefile 的依赖是从上至下的,换句话说就是目标文件是第一句里的目标, 如果不满足执行依赖,就会继续向下执行。...make 会自动寻找规则里需要的材料文件,执行规则下面的行为生成规则的目标。...将上述 .c 文件都放到 src 目录,.h 文件都放在 inc 目录,所生成的 .o 文件产物都放在 obj 目录 使用 tree 命令查看树形结构拓扑 修改 makefile

33730

makefile文件编写「建议收藏」

文件名 作用:将其它makefile文件包含进来,组成一个更大的makefile文件,这样有利于makefile模块化编程。...通常我们将一些配置选项分开成一个独立的makefile文件,这样有利于makefile文件的管理,或将模块代码的依赖关系和需要编译的文件信息独自写到一个 makefile文件,最终通过include命令形成一个顶层...2、变量定义: 语法:变量名 := 变量值 在makefile,经常先定义一个变量,然后往该变量追加新的值(通过+=符号),比如先定义一个C_SRCS变量(该值可以为空),然后将代码文件test1....foreach 函数:其语法为$(foreach var,list,text),每循环一次varlist按顺序取值一个,然后执行一次text代码并记录结果,最终返回所用text代码运行的结果。...makefile文件

2.1K10

make命令和makefile文件

makefile文件由一组依赖关系和规则构成,每个依赖关系由一个目标和一组该目标所依赖的源文件组成,而规则描述了如何通过这些依赖文件创建目标,一般来说,目标是一个单独的可执行文件。...规则   makefile文件中一个非常奇怪而又令人遗憾的语法现象:空格和制表符是有区别的,规则所在的行必须以制表符开头,用空格是不行的,如果makefile文件的某行以空格结尾,也可能导致make命令执行失败...文件的宏   为了让makefile文件在面对大项目时不至于过于庞大和缺乏弹性,makefile文件允许使用宏以一种更通用的格式来书写它们   MACRONAME = value (MACRONAME...)或{MACRONAME}或   若要定义一个值为空的宏,可以MACRONAME =   宏通常都是在makefile定义的,但也可以在调用make命令时在命令行上给出宏定义,例如male CC=c89....命令行上的宏定义将覆盖makefile的宏定义。

2.5K40

文件目录Makefile的写法

文件目录Makefile写法 1、前言   linux下程序开发,涉及到多个文件,多个目录,这时候编译文件的任务量比较大,需要写Makefile 2、简单测试   测试程序在同一个文件,共有func.h...、func.c、main.c三个文件Makefile写法如下所示: 1 CC = gcc 2 CFLAGS = -g -Wall 3 4 main:main.o func.o 5 $...也就是说通常将文件按照文件类型放在不同的目录当中,这个时候的Makefile需要统一管理这些文件,将生产的目标文件放在目标目录下,可执行文件放到可执行目录下。测试程序如下图所示: ?...的 符号 @, ^, < 的意思:  ^ 表示所有的依赖文件  < 表示第一个依赖文件   (2)wildcard、notdir、patsubst的意思:   wildcard : 扩展通配符   ...,    寻找的顺序是:/home/hello/lib-->/lib-->/usr/lib-->/usr/local/lib -lworld表示在上面的lib的路径寻找libworld.so

3.7K20

makefile 指定文件的生成目录

1.上一篇博客虽然简单实现了自动处理依赖关系,但是生成的各种临时文件都混在一起,太乱了。...假定我们的源文件放在src目录,头文件放在inc目录,.o文件放在obj目录,.d文件放在dmk目录,Makefile和上述4个目录为同一级别。...$(D_SRC)的所有子目录同时把子目录下的.c文件遍历出来 假设src目录中有a.c,b.c,则$(SRC_C) 表示 src/a.c src/b.c 3.生成所有的.o文件依赖和.d文件集合 OBJ_C...patsubst %.c,%.d,$(notdir $(SRC_C)))) notdir表示去除目录,则(notdir (SRC_C))表示a.c b.c patsubst表示把(notdir (SRC_C))的....c替换成.o,即a.o b.o addprefix表示增加前缀$(D_OBJ)/,则OBJ_C变量表示为obj/a.o obj/b.o 4.明白了上述语句之后我们可以把makefile写成如下状态 D_SRC

3.7K20

Linux编程之删除文件排除某个文件

文章目录 导读 实验 C语言Linux编程实现 导读 有时候我们在Linux下删除某个文件夹内的所有文件时需要排除一些文件。...例如如下真是用户案例: 用户在嵌入式设备恢复默认设置的时候,不让某些比较配置繁琐的配置恢复(即保留某些文件); 实验 例如我们有test/a.txt b.txt c.txt d.txt e.txt...假设我们需要保留test/c.txt和test/config/setting.ini这两个配置文件的配置信息。...2、按照查询的结果进行删除 直接通过ls或者find命令可以查看某个目录的所有文件,我们发现 [root@TrueDei test]# ls ./* ..../config: setting.ini [root@TrueDei test]# 查询并排除我们想排除文件 grep命令,应该很常用,可以过滤出来我们想要的数据。

2.1K30

为sourceinsight添加makefile和configure文件

在用sourceinsight查看ffmpeg源码的时候,大家会发现不能查看源码makefile代码,即不能搜索到makefile文件。...这是因为source insight默认是不选makefile的,也没有configure这种类型的文件。...下面就说如何让sourceinsight支持查看makefile和configure代码: (1)添加makefile: 进入Options -> Document Options-> 点击Document...Type的下拉框,然后选择Make File,在右边的File Filter,在原先的*.mak后面加上一个分号,即多个不同过滤规则以分号间隔开,再加上*makefile,变成*.mak;*makefile...(2)添加configure: 点击 Add Type,填入新文件类型的名字configure,File Filter写上*configure;configure*,再选中下面的Include when

1K20
领券