GNU make manual 翻译( 一百零四)

继续翻译

4.7 Rules without Recipes or Prerequisites
==========================================If a rule has no prerequisites or recipe, and the target of the rule is
a nonexistent file, then `make' imagines this target to have been
updated whenever its rule is run.  This implies that all targets
depending on this one will always have their recipe run.An example will illustrate this:clean: FORCErm $(objects)FORCE:Here the target `FORCE' satisfies the special conditions, so the
target `clean' that depends on it is forced to run its recipe.  There
is nothing special about the name `FORCE', but that is one name
commonly used this way.As you can see, using `FORCE' this way has the same results as using
`.PHONY: clean'.
Using `.PHONY' is more explicit and more efficient.  However, other
versions of `make' do not support `.PHONY'; thus `FORCE' appears in
many makefiles.  *Note Phony Targets::.

4.7 没有片段或前提条件的规则
==========================================

如果一个规则没有前提条件或者片段,并且此规则的目的是一个尚未存在的文件,那么 make 将认为此目的在任何一次make 运行时都已经被更新。这暗示着每个依赖于此的目的都总是运行其片段。

例子是这样的:

clean: FORCE
rm $(objects)
FORCE:

这里,目的 FORCE 满足前面所述的特定的条件,于是依赖此 目的的 目的 clean 被强制执行。这里的名字 FORCE 没有任何特殊之处,但是是一个通常被使用的名字。

如你所见,采用这种方法用 FORCE 和用 .PHONY: clean 是一样的效果。

使用 .PHONY 更佳的明确和更有效率,但是其他版本的 make ,有的不支持 .PHONY 语法;因此你会在某些 makefile里面看到 FORCE 出现。 *Note Phony Targets::

后文待续

转载于:https://www.cnblogs.com/gaojian/archive/2012/09/20/2695334.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260386.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 数字 除以 一万_腾讯股票接口、和讯网股票接口、新浪股票接口、雪球股票数据、网易股票数据...

腾讯股票接口:大单数据http://stock.finance.qq.com/sstock/list/view/dadan.php?tjs&csz002451&max80&p1&opt10&o0opt10 11 12 13 分别对应成交额大于等于(100万 200万 500万 1000万)opt1,2,3,4,5,6,7,8 分别对应成交量大于等于(100手 200手 …

asp.net url传值,弹窗

一,<a>标签链接式传值 1&#xff0c; <a href"News_list.aspx?ClassID<%#((DataRowView)Container.DataItem)["ClassID"]%>&Editor<%#((DataRowView)Container.DataItem)["Editor"]%>" >传值</a> 2, <a&g…

windows下python视频加速调节_Windows下python+ffmpeg实现批量提取、切割视频中的音频...

废话不说&#xff0c;直接上代码 #遍历所有mp4文件名->文件名改为字母形式->fffmpeg批量提取音频、切割音频->改回中文名 import os import subprocess current os.getcwd() dirs os.listdir(current) for i in dirs: if os.path.splitext(i)[1] ".mp4":…

(转)千万别熬夜:身体器官晚上工作时间表一览

原文连接&#xff1a;http://jiuyinguan.blog.163.com/blog/static/20907903720126801015713/ 任何试图更改生物钟的行为&#xff0c;都将给身体留下莫名其妙的疾病&#xff0c;20、30年之后再后悔&#xff0c;已经来不及了。 一、晚上9-11点为免疫系统&#xff08;淋巴&#x…

伯纳德•罗森伯格先生参加华为技术2016首届国际光电连接技术研讨会

近日&#xff0c;来自罗森伯格德国总部的CTO首席技术官伯纳德罗森伯格先生参加了由华为技术组织的2016首届国际光电连接技术研讨会。本届研讨会华为共邀请了来自全球的约十家著名光电技术领先厂家及合作伙伴参与&#xff0c;共同探讨未来数十年的光纤电子技术发展方向并分享最新…

如何使用python效率_Python的5中提高效率的用法

任何编程语言的高级特征通常都是通过大量的使用经验才发现的。比如你在编写一个复杂的项目&#xff0c;并在 stackoverflow 上寻找某个问题的答案。然后你突然发现了一个非常优雅的解决方案&#xff0c;它使用了你从不知道的 Python 功能&#xff01;这种学习方式太有趣了&…

记“debug alipay”一事

背景&#xff1a;客户支付成功&#xff0c;无法返回支付结果 查找原因&#xff0c;追踪代码: verified AlipayNotify.verify(params,alipayConfig.sign_type,alipayConfig.partner,alipayConfig.key,alipayConfig.input_charset); if (!verified) { Debug.logError("##…

Xamarin 跨移动端开发系列(01) -- 搭建环境、编译、调试、部署、运行

&#xff08;本文是基于老版本的VS和Xamarin&#xff0c;而VS2017已经集成了Xamarin&#xff0c;所以&#xff0c;本文已经过时&#xff0c;最新的Xamarin开发介绍请参见 使用 Xamarin开发手机聊天程序 。&#xff09; 如果是.NET开发人员&#xff0c;想学习手机应用开发&#…

内网穿透 无需公网ip_无需端口映射、无需公网IP,60秒实现FTP服务远程访问

互联网的一大特点是实现信息共享&#xff0c;其中文件传输是信息共享十分重要的内容之一。科技公司更是离不开它。销售、库存、客户资料等等数据需要随时共享同步。当需要考虑到文件传输安全、传输质量、传输稳定性、访问控制等诸多因素时&#xff0c;FTP服务器就成了解决文件传…

mysql查询的时候会涉及到锁_Mysql 查询 锁的问题?

以下五种方法可以快速定位全局锁的位置&#xff0c;仅供参考。方法1&#xff1a;利用 metadata_locks 视图此方法仅适用于 MySQL 5.7 以上版本&#xff0c;该版本 performance_schema 新增了 metadata_locks&#xff0c;如果上锁前启用了元数据锁的探针(默认是未启用的)&#x…

Clojure:导入lein项目到IntelliJ IDEA

首先&#xff0c;我们需要先创建一个lein项目&#xff08;废话。。&#xff09; lein new [项目名称] 然后生成Maven的pom.xml文件 cd [项目目录]lein pom 最后&#xff0c;在InteliJ IDEA中选择导入Maven项目&#xff0c;选择刚刚生成的pom.xml文件即可。 转载于:https://www.…

git 工具_Github开源工具分享之自托管GIT服务工具Gogs

介绍Gogs项目旨在构建一种简单&#xff0c;稳定和可扩展的自托管Git服务&#xff0c;该服务可以通过最轻松的方式进行设置。使用Go语言开发的git自托管服务&#xff0c;部署十分简单&#xff0c;可以在Go支持的所有平台(包括Linux&#xff0c;macOS&#xff0c;Windows和ARM)上…

Mariadb 二进制半自动安装脚本

Mariadb 二进制半自动安装脚本系统环境&#xff1a;centosx86_64Mariadb版本&#xff1a;mariadb-5.5.36-linux-x86_64#!/bin/bash#auth:code7#description:auto-mariadb#version:1.0groupadd -r -g 306 mysqluseradd -r -g 306 -u 306 mysql#创建mysql的组和用户tar -xvf mari…

hdu 4414 Finding crosses

http://acm.hdu.edu.cn/showproblem.php?pid4414 简单枚举 代码&#xff1a; #include <iostream> #include <cstdio> #include <cstring> #include <string> #include <queue> #include <vector> #include <algorithm>#define LL …

mysql皮秒转成年月日时分秒_MySQL performance_schema 中 TIMER_*类字段 的易读转换

performance_schema中有很多的表(语句信息表&#xff0c;事务信息表等)记录执行的SQL的具体信息&#xff0c;执行事务的具体信息&#xff0c;其中都会有一个叫做TIMER_START的字段&#xff0c;这个字段的值易读性很差&#xff0c;官方文档说是皮秒&#xff0c;但也没说怎么转成…

c++函数相关

1&#xff0c;内连函数 inline 返回值类型 函数名&#xff08;形参列表&#xff09; 普通函数成为内连函数&#xff1a;在普通函数声明之前加上inline 成员函数成为内连函数&#xff1a;在类中定义的函数全部默认为内连函数&#xff0c;可以显示加上inline或者不加&#xff1b;…

goto语句_11. Go语言流程控制:goto 无条件跳转

本文原文&#xff1a;http://golang.iswbm.comGithub&#xff1a;https://github.com/iswbm/GolangCodingTimeGo里的流程控制方法还是挺丰富&#xff0c;整理了下有如下这么多种&#xff1a;if - else 条件语句switch - case 选择语句for - range 循环语goto 无条件跳转语句def…

[BT5]信息收集1-2 Dnsmap

0.工具介绍 dnsmap is mainly meant to be used by pentesters during the information gathering/enumeration phase of infrastructure security assessments. During the enumeration stage, the security consultant would typically discover the target companys IP netb…

httpf发送 json_Java用HttpClient3发送http/https协议get/post请求,发送map,json,xml,txt数据...

使用的是httpclient 3.1&#xff0c;使用"httpclient"4的写法相对简单点&#xff0c;百度&#xff1a;httpclient https post当不需要使用任何证书访问https网页时&#xff0c;只需配置信任任何证书其中信任任何证书的类MySSLProtocolSocketFactory主要代码&#xff…

分页优化的四种方式

转自&#xff1a;http://www.orczhou.com/index.php/2009/03/four-way-pager-display/ 很久以前读了一篇关于分页的文章&#xff0c;后来越想越有道理&#xff0c;最近又重新找出来&#xff0c;并做了翻译&#xff0c;原文参考:Four ways to optimize paginated displays. 翻译…