首页 > 其他分享 >Makefile-强制更新规则指令

Makefile-强制更新规则指令

时间:2022-11-10 19:56:49浏览次数:35  
标签:依赖 FORCE make Makefile 目标 指令 clean 规则 强制

FORCE 是一个伪目标,一般是像下面这样定义的

由上面的定义可知,FORCE是个伪目标,它的规则没有依赖没有命令。

如果一个规则里没有依赖也没有命令,并且它的目标不是已存在的文件名,那么每次执行这条规则时,make就认为这个目标被更新,该目标就被视为最新的。

在第一个代码块中,FORCE 做为依赖每次遇到都被认为是最新的,因此目标 vmlinux 也是每次都要被更新(即它的命令必执行,目标必须要比它的依赖还要 " 新 " )

如果一个规则没有命令或者依赖,而且它的目标不是一个存在的文件名。在执行此规则时,目
标总会被认为是最新的。就是说:这个规则一旦被执行, make 就认为它的目标已经被更新过。这
样的目标在作为一个规则的依赖时,因为依赖总被认为被更新过,因此作为依赖所在的规则定义的
命令总会被执行。看一个例子:
clean: FORCE
rm $(objects)
FORCE:
这个例子中,目标“FORCE”符合上边的条件。它作为目标“clean”的依赖出现,在执行 make
时,它总被认为被更新过。所以“clean”所在的规则在被执行时规则所定义的命令总会被执行。
这样的一个目标通常我们将其命名为“FORCE”。
上边的例子中使用“FORCE”目标的效果和我们指定“clean”为伪目标效果相同。两种方式
相比较,使用“.PHONY”方式更加直观高效。这种方式主要用在非 GNU 版本的 make 中。
在使用GNU make,尽量避免使用这种方式。

标签:依赖,FORCE,make,Makefile,目标,指令,clean,规则,强制
From: https://www.cnblogs.com/ucas123/p/16878574.html

相关文章

  • PX01如何实现在指定定制画面下执行指令控制
    在对屏进行生产测试或者实验室测试时,有时会需要在特定画面下进行发送指令修改IC寄存器、修改背光亮度、控制某个IO等操作来达到验证目的,那PX01如何实现上述功能呢?LcdTools......
  • U-BLOX GPS 模块及GPRMC指令解析
       受朋友所托,调试一款GPS模块,该模块是UBLOX的NEO-6MGPS模组。想到用这款GPS的人较多,自己日后也有可能在用到这个模块,就写下这份笔记。1.介绍基本信息如下:1,模......
  • C Makefile 写法
    c语言编译过程#预处理->编译->汇编->链接#预处理:将头文件替换中内容全部替换成实际内容(.i结尾),不会检查错误示例:gcc-Ehello.c-ohello.i#编译:......
  • 预处理指令
    1.预处理指令的分类1)。文件包含指令#include2)宏定义:可以将1段C代码定义为1个标识,使用这个标识就可以使用这段代码3),条件编译指令:只编译指定的C代码为二进制指令2,宏定......
  • Java——数据类型转换:自动类型转换&强制类型转换
                             ==================================================================================......
  • Linux命令基础——makefile+gdb+IO
    在学习Linux命令基础总结了笔记,并分享出来。08-linux-day03(makefile-gdb-IO)目录:附:ftp工具介绍——FlashFXP一、学习目标二、makefile1、makefile编写12、makefile编写23、......
  • 关于如何在Windows下通过Golang调用cmd指令
    太nm操蛋了,我tm弄了两小时。起因目前我的项目中,当并发量提高的时候会出现UDP的bufferqueuefull的情况,我怀疑是因为UDP端口释放太慢导致堆积。于是就打算用golang写一......
  • 自定义指令
    vue3自定义指令typeDir={background:string}constvMove:Directive={created(){},beforeMount(){},mounted(el:HTMLElement,dir:DirectiveBind......
  • 写过vue自定义指令吗,原理是什么?.m
    背景看了一些自定义指令的文章,但是探究其原理的文章却不多见,所以我决定水一篇。如何自定义指令?其实关于这个问题官方文档上已经有了很好的示例的,我们先来温故一下。除......
  • [CMake] FILE指令-Filesystem
    1FILE(GLOB<variable>2[LIST_DIRECTORIEStrue|flase])[RELETIVE<path>][CONFIGURE_DEPENDS]3[<globbing-expressions>...])4FILE(GLOB_RECURSE<......