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

GNU Make忽略除first之外的所有规则

GNU Make是一个构建自动化工具,用于管理和组织软件项目的编译过程。它基于Makefile文件,其中包含了构建规则和依赖关系,以及指定如何生成目标文件的命令。

在GNU Make中,可以通过在Makefile中定义规则来描述构建过程。规则由目标、依赖和命令组成。目标是要生成的文件,依赖是生成目标所需的文件或其他目标,命令是生成目标的具体操作。

当执行make命令时,GNU Make会根据规则和依赖关系来确定需要重新构建的目标,并执行相应的命令。然而,在某些情况下,我们可能希望忽略某些规则,只构建特定的目标。这时可以使用Makefile中的伪目标(.PHONY target)来实现。

对于给定的问题,如果我们想要忽略除了"first"之外的所有规则,可以在Makefile中添加以下内容:

.PHONY: first

all: first

first:

代码语言:txt
复制
# 第一个目标的命令

在这个例子中,我们使用了伪目标".PHONY"来声明"first"是一个伪目标。然后,我们定义了一个名为"all"的目标,将"first"作为其唯一的依赖。这样,当执行"make all"命令时,只会执行"first"目标的命令,而忽略其他规则。

需要注意的是,这只是一个示例,实际的Makefile内容可能更加复杂,包含更多的规则和目标。

推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云容器服务(TKE)。

  • 腾讯云服务器(CVM):提供弹性、安全、可靠的云服务器实例,可满足各种计算需求。详情请参考:腾讯云服务器(CVM)
  • 腾讯云容器服务(TKE):基于Kubernetes的容器管理服务,提供高可用、弹性伸缩的容器集群,简化容器化应用的部署和管理。详情请参考:腾讯云容器服务(TKE)
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

三大文本处理工具grep、sed及awk

一、   用grep在文件中搜索文本   grep能够接受正则表达式,生成各种格式输出。除此之外,它还有大量有趣选项。...中使用正则表达式时使用(grep -E或者egrep) 6、  只输出文件中匹配到文本部分,可以使用-o: 7、  要显示匹配行外所有行用-v选项: 8、  统计文件或文本中包含匹配字符串行数...(-R与之作用相同): 12、  忽略样式中大小写,-i: 13、  用grep匹配多个样式,-e: 14、  在grep搜索中指定(--include)或排除(--exclude)文件: 目录中递归搜索所有的...output version information and exit If no -e, --expression, -f, or --file option is given, then the first...E-mail bug reports to: .

63130

【Linux】《how linux work》第十五章 开发工具

有很多关于make书籍,比如Robert Mecklenburg《使用GNU Make管理项目》(O'Reilly,2004)。...为了构建一个目标,make遵循一个规则,比如从一个.c源文件到一个.o目标文件规则make已经知道了几个规则,但你可以自定义这些现有规则并创建自己规则。...当make以某种方式运行C预处理器时,它将将这个宏展开作为一个参数传递。 CXXFLAGS GNU make在C++编译器标志中使用它。...注意 请记住,GNU make具有许多其他变体没有的扩展、内置规则和功能。 只要你在运行Linux,这没有问题,但是如果你切换到Solaris或BSD机器并期望相同东西能够工作,你可能会感到惊讶。...注意 如果需要为对象文件定义特殊规则,请将对象文件规则放在构建可执行文件规则上方。 如果多个可执行文件使用同一对象文件,则应将对象规则置于所有可执行文件规则之上。 置于所有可执行文件规则之上。

6310

Linux之ack命令

ack是比grep好用文本搜索工具 ack命令安装 > yum install -y ack 命令特点 默认搜索当前工作目录 默认递归搜索子目录 忽略元数据目录,比如.svn,.git,CSV等目录...,该文件类型可以有多种文件后缀 高亮搜索结果 支持Perl高级正则表达式,比grep所使用GNU正则表达式更有表现力。...命令参数 -n, 显示行号 -l/L, 显示匹配/不匹配文件名 -c, 统计次数 -v, invert match -w, 词匹配 -i, 忽略大小写 -f, 只显示文件名,不进行搜索..../etc 除了temp目录,在所有目录搜索use单词 > ack use --ignore-dir=temp 只搜索包含'main'单词Python文件,然后通过文件名把搜索结果整合在一起,打印每个文件对应搜索结果...xml/ --[no]yaml .yaml .yml 获取包含CFLAG关键字Makefile文件名 > ack --make CFLAG ack查找my.cnf文件 > ack

1.7K00

Linux之ack命令

回复【1001】获取 linux常用命令速查手册 ack是比grep好用文本搜索工具 ack命令安装 > yum install -y ack 命令特点 默认搜索当前工作目录 默认递归搜索子目录 忽略元数据目录...比如Perl,C++,Makefile),该文件类型可以有多种文件后缀 高亮搜索结果 支持Perl高级正则表达式,比grep所使用GNU正则表达式更有表现力。...命令参数 -n, 显示行号 -l/L, 显示匹配/不匹配文件名 -c, 统计次数 -v, invert match -w, 词匹配 -i, 忽略大小写 -f, 只显示文件名,不进行搜索..../etc 除了temp目录,在所有目录搜索use单词 > ack use --ignore-dir=temp 只搜索包含'main'单词Python文件,然后通过文件名把搜索结果整合在一起,打印每个文件对应搜索结果...xml/ --[no]yaml .yaml .yml 获取包含CFLAG关键字Makefile文件名 > ack --make CFLAG ack查找my.cnf文件 > ack

1.1K00

Linux之ack命令

ack是比grep好用文本搜索工具 ack命令安装 > yum install -y ack 命令特点 默认搜索当前工作目录 默认递归搜索子目录 忽略元数据目录,比如.svn,.git,CSV等目录...),该文件类型可以有多种文件后缀 高亮搜索结果 支持Perl高级正则表达式,比grep所使用GNU正则表达式更有表现力。...命令参数 -n, 显示行号 -l/L, 显示匹配/不匹配文件名 -c, 统计次数 -v, invert match -w, 词匹配 -i, 忽略大小写 -f, 只显示文件名,不进行搜索..../etc 除了temp目录,在所有目录搜索use单词 > ack use --ignore-dir=temp 只搜索包含'main'单词Python文件,然后通过文件名把搜索结果整合在一起,打印每个文件对应搜索结果...xml/ --[no]yaml .yaml .yml 获取包含CFLAG关键字Makefile文件名 > ack --make CFLAG ack查找my.cnf文件 >

1.2K20

Makefile 使用总结

这个特性是GNU make,很有可能不兼容于其它版本make,所以,你应该尽量避免使用"$*",除非是在隐含规则或是静态模式中。...中可以引用其他Makefile) 读入被include其他Makefile 初始化文件中变量 推导隐晦规则, 并分析所有规则所有的目标文件创建依赖关系链 根据依赖关系, 决定哪些目标要重新生成...[abcd] 表示a,b,c,d中任意一个字符, [^abcd]表示a,b,c,d以外字符, [0-9]表示 0~9中任意一个数字 ~     :: 表示用户home目录 2.1.3 路径搜索...--no-builtin-rules 禁止使用任何隐含规则 -R --no-builtin-variabes 禁止使用任何作用于变量上隐含规则 -B --always-make 假设所有目标都有更新...比目标新依赖目标的集合 $^ 所有依赖目标的集合, 会去除重复依赖目标 $+ 所有依赖目标的集合, 不会去除重复依赖目标 $* 这个是GNU make特有的, 其它make不一定支持 3.

3.5K30

Linux makefile 教程 非常详细,且易懂

五、make工作方式 GNUmake工作时执行步骤入下:(想来其它make也是类似) 1、读入所有的Makefile。 2、读入被include其它Makefile。...如: clean: -rm -f *.o 还有一个全局办法是,给make加上“-i”或是“–ignore-errors”参数,那么,Makefile中所有命令都会忽略错误。...而如果一个规则是以“.IGNORE”作为目标的,那么这个规则所有命令将会忽略错误。这些是不同级别的防止命令出错方法,你可以根据你不同喜欢设置。...CFLAGS)值是什么,在prog目标,以及其所引发所有规则中(prog.o foo.o bar.o规则),(CFLAGS)值都是“-g” 九、模式变量 在GNUmake中,还支持模式变量(Pattern-specific...后序 —— 终于到写结束语时候了,以上基本上就是GNU makeMakefile所有细节了。

4.2K20

Makefile 使用(在 Linux 中使用 make 命令来编译程序)

要想完整地了解 Makefile 规则,请参考《GNU Make 使用手册》,以下仅粗略介绍。...比如: First_target: // 这句话放在前面 .... // 其他代码,比如 include 其他文件得到后面的 xxx 变量 First_target : $(xxx) $(yyy) //...通常,如果一个依赖发生了变化,就需要规则调用命令以更新或创建目标。但是并非所有的目标都有依赖,例如,目标“clean”作用是清除文件,它没有依赖。 规则一般是用于解释怎样和何时重建目标。...(2)$(notdir names…) 抽取names...中每一个文件名中路径部分外一切字符(真正文件名)。...@表示规则目标文件名; ^表示所有依赖名字,名字之间用空格隔开; <表示第一个依赖文件名。‘%’是通配符,它和一个字符串中任意个数字符相匹配。

8.6K10

全网最牛Linux内核Makefile系统文件详解(纯文字代码)

五、make工作方式 GNUmake工作时执行步骤入下:(想来其它make也是类似) 1、读入所有的Makefile。 2、读入被include其它Makefile。...如果一个规则某个命令出错了(命令退出码非零),那么make就会终止执行当前规则,这将有可能终止所有规则执行。 有些时候,命令出错并不表示就是错误。...如: clean: -rm -f *.o 还有一个全局办法是,给make加上“-i”或是“--ignore-errors”参数,那么, Makefile中所有命令都会忽略错误。...而如果一个规则是以“.IGNORE”作为目标的,那么这个规则所有命令将会忽略错误。这些是不同级别的防止命令出错方法,你可以根据你不同喜欢设置。...(CFLAGS)值是什么,在prog目标,以及其所引发所有规则中(prog.o foo.o bar.o规则),$(CFLAGS)值都是“-g” 九、模式变量 在GNUmake中,还支持模式变量

3.1K20

Makefile经典教程(掌握这些足够)

2.5 make工作方式 GNUmake工作时执行步骤入下:(想来其它make也是类似) 1.        读入所有的Makefile。 2.        ...而如果一个规则是以“.IGNORE”作为目标的,那么这个规则所有命令将会忽略错误。这些是不同级别的防止命令出错方法,你可以根据你不同喜欢设置。...五、make参数 下面列举了所有GNU make 3.80版参数定义。其它版本和产商make大同小异,不过其它产商make具体参数还是请参考各自产品文档。...“-b” “-m” 这两个参数作用是忽略和其它版本make兼容性。 “-B” “--always-make” 认为所有的目标都需要更新(重编译)。...后序 —— 终于到写结束语时候了,以上基本上就是GNU makeMakefile所有细节了。

2.6K20

__attribute__机制介绍

或strfmon参数表格式规则对该函数参数进行检查。...archetype:指定是哪种风格; string-index:指定传入函数第几个参数是格式化字符串; first-to-check:指定从函数第几个参数开始按上述规则进行检查。...如果函数包含内联,而所有使用到该函数程序都要把该内联展开,这会额外地增加代码长度。如果要在C 代码中使用extern inline声明,必须提供这种函数可寻址形式。...和非GNU编译器兼容性 __attribute__设计非常巧妙,很容易作到和其它编译器保持兼容。也就是说,如果工作在其它GNU编译器上,可以很容易忽略该属性。...即使__attribute__使用了多个参数,也可以很容易使用一对圆括弧进行处理,例如:  /* 如果使用是非GNU C, 那么就忽略__attribute__ */ #ifndef __GNUC_

2.8K11

make makefile cmake qmake都是什么,有什么区别?

也就是说,从同一个抽象规则出发,它为各个编译器定制工程文件。...如果GUI用了Qt,也可以用qmake+*.pro来管理工程,这也是跨平台。当然,cmake中也有针对Qt一些规则,并代替qmake帮你将qt相关命令整理好了。...另外,需要指出是,make和cmake主要命令只有一条,make用于处理Makefile,cmake用来转译CMakeLists.txt,而qmake是一个体系,用于支撑一个编程环境,它还包含qmake...之外其它多条命令(比如uic,rcc,moc)。...1.gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C、C++、Objective-C、Fortran、Java等等)

2.1K10

Make参数

-b -m 这两个参数作用是忽略和其它版本make兼容性。 -B –always-make 认为所有的目标都需要更新(重编译)。 -C –directory= 指定读取makefile目录。...i —— 也就是implicit,输出所以隐含规则。j —— 也就是jobs,输出执行规则中命令详细信息,如命令PID、返回码等。...-i –ignore-errors 在执行时忽略所有的错误。 -I –include-dir= 指定一个被包含makefile搜索目标。可以使用多个“-I”参数来指定多个目录。...-p –print-data-base 输出makefile中所有数据,包括所有规则和变量。这个参数会让一个简单makefile都会输出一堆信息。...参考文献 GNU make参数详解:http://www.ha97.com/961.html C语言编译过程详解:https://www.cnblogs.com/CarpenterLee/p/5994681

1.5K11

Makefile文件编写

(任意shell命令) make工作 默认执行 make 命令时, GNU make在当前目录下依次搜索下面3个文件 "GNUmakefile", "makefile", "Makefile", 如果找到...如果target所依赖文件也不存在,那么make会在当前文件中找依赖文件,如果找到则再根据那一个规则生成依赖文件。...--no-builtin-rules 禁止使用任何隐含规则 -R --no-builtin-variabes 禁止使用任何作用于变量上隐含规则 -B --always-make 假设所有目标都有更新...输出执行命令以及命令执行结果, 出错的话停止执行 前缀 @ 只输出命令执行结果, 出错的话停止执行 前缀 - 命令执行有错的话, 忽略错误, 继续执行 伪目标 伪目标并不是一个"目标(target...比目标新依赖目标的集合 $^ 所有依赖目标的集合, 会去除重复依赖目标 $+ 所有依赖目标的集合, 不会去除重复依赖目标 $* 这个是GNU make特有的, 其它make不一定支持 all

1.2K30

【SQL执行计划】优化器相关Hint

优化器模式FIRST_ROWS_n中只能是1、10、100和1000,但FIRST_ROWS(n) Hint中n可以是1、10、100和1000之外所有值。...alter session setoptimizer_mode=first_rows_10; 忽略情况:如果在UPDATE、DELETE或者含如下内容查询语句中使用了FIRST_ROWS(n) Hint...,则该FIRST_ROWS(n) Hint会被Oracle忽略。...) 这里优化器会忽略FIRST_ROWS(n) Hint是因为对于上述类型SQL语言而言,Oracle必须访问所有的行记录后才能返回满足条件头n行记录,即在上述情形下,使用FIRST_ROWS(n)...目标SQLRULE之外还联合使用了其他Hint(比如DRIVING_SITE)。 目标SQL使用了并行执行。 目标SQL所涉及对象有IOT。 目标SQL所涉及对象有分区表。

96640
领券