当前位置: 首页 > news >正文

桂林网站制作培训学校南宁购物网站建设

桂林网站制作培训学校,南宁购物网站建设,设计官网页面需要多少钱,网站建设捌金手指专业1在 Linux 环境中,Makefile 是构建项目的重要工具,它通过定义规则,指导 make 工具如何编译和链接程序。通常我们会在 Makefile 中定义目标(target),这些目标通常对应文件名。然而,有一种特殊类型…

        在 Linux 环境中,Makefile 是构建项目的重要工具,它通过定义规则,指导 make 工具如何编译和链接程序。通常我们会在 Makefile 中定义目标(target),这些目标通常对应文件名。然而,有一种特殊类型的目标叫做伪目标(phony target),它不对应文件,而是用于执行特定操作,如清理构建文件、测试代码等。本文将详细介绍 Makefile 中伪目标的作用、定义和使用方式。

1. 什么是 Makefile 伪目标?

在传统的 Makefile 中,每个目标(target)通常是生成一个文件的规则。例如,当你定义一个目标 myprogram,意味着你希望通过运行相应的规则,生成一个名为 myprogram 的文件。

然而,有些时候我们并不想生成文件,而是执行一些操作,例如清理构建目录或者运行测试。这种情况下,目标并不对应文件,而是用于执行某些任务。为了避免与实际文件名冲突,我们可以使用伪目标

伪目标是不生成任何文件的目标,仅用于执行特定操作。伪目标的典型用途包括:

  • clean:清理编译生成的临时文件。
  • all:编译所有需要的文件。
  • test:运行测试。
  • install:安装程序到指定路径。
示例:
all: myprogrammyprogram: myprogram.ogcc -o myprogram myprogram.omyprogram.o: myprogram.cgcc -c myprogram.cclean:rm -f myprogram myprogram.o
在上面的例子中,clean就是一个伪目标。它用于删除构建生成的文件,而不生成任何文件。

2. 定义伪目标的方式:.PHONY

为了明确告诉 make 这个目标不是文件,而是用于执行某个操作,我们需要使用 .PHONY 关键字来定义伪目标。定义 .PHONY 可以让 make 更加高效,因为它不需要检查目标文件是否已经存在,直接执行相应的规则。

示例:
.PHONY: cleanclean:rm -f myprogram myprogram.o

通过 .PHONYmake 知道 clean 是一个伪目标,不会去检查是否存在名为 clean 的文件或目录,而是直接执行 rm 命令。

3. 为什么要使用 .PHONY

如果不使用 .PHONY,当目录中有与目标同名的文件时,make 会认为这个目标已经满足条件(即该文件已经存在),从而跳过该目标的执行。

假设我们有如下情况:

clean:rm -f *.o

如果当前目录下存在一个名为 clean 的文件,make 会认为这个目标已经“完成”,从而不执行清理操作。这种情况下,使用 .PHONY 就变得尤为重要。

.PHONY: cleanclean:rm -f *.o

4. 常见的伪目标示例

4.1 all 伪目标

all 通常被用作默认目标,用于构建项目中的所有主要目标。

.PHONY: allall: myprogram libfoo.so
4.2 clean 伪目标

clean 通常用于清理编译生成的临时文件。

.PHONY: cleanclean:rm -f *.o myprogram
4.3 install 伪目标

install 通常用于将编译生成的文件安装到系统指定的路径。

.PHONY: installinstall: myprogramcp myprogram /usr/local/bin/
4.4 test 伪目标

test 通常用于运行单元测试或者集成测试。

.PHONY: testtest:./run_tests.sh
4.5 help 伪目标

help 通常用于为 Makefile 提供一个帮助信息,方便用户了解有哪些可用的目标。

.PHONY: helphelp:@echo "Usage:"@echo "  make all     - Build all targets"@echo "  make clean   - Remove generated files"@echo "  make install - Install the program"@echo "  make test    - Run tests"

使用伪目标时牢记:

  • 伪目标不生成文件。
  • 使用 .PHONY 定义伪目标,避免文件名冲突。
  • 伪目标的灵活性使得 Makefile 可以用于执行各种构建和管理任务。
http://www.yayakq.cn/news/39437/

相关文章:

  • 做网站的需要哪些职位wordpress 判断手机端
  • 营销型网站建设五大内容做框架表格网站
  • 如何开网站建设公司常见的网络推广方式
  • wordpress微信qq登录网站seo优化培训
  • 张北北京网站建设网站设计与制作说明书
  • 慕课网电子商务网站开发简述几种网络营销的方法
  • asp网站怎么搭建泰安建设工程招聘信息网站
  • 北京教育学会网站建设自然资源部网站绿色矿山建设
  • 排版设计模板网站官网下载软件
  • 手把手教你优化网站湖南有实力竞价优化服务
  • 公司网站公司网站百度竞价是seo还是sem
  • 网站建设与维护 课件网站更新维护 怎么做
  • 商务网站建设模块用php做注册网站的代码
  • 网站 开发 成本怎么学做淘宝电商网站
  • 帝国cms企业网站网站建设后台cms管理系统方案
  • 企业网站后端模板软件开发方案模板
  • 什么叫精品网站建设怎么检查网站的死链
  • 餐饮加盟网站建设方案怎么看网站用的什么程序做的
  • 防伪网站模板建设银行的网站为什么登不上
  • 番禺做网站价格怎么开个网站
  • 美食网站wordpress分类列表插件
  • 做盗版小说网站盘锦949公社最新招聘
  • 建站网络做网站的叫云啥
  • 建设定制网站太原招聘网站开发
  • 超炫html5网站模板深圳网站制作公司方案
  • 客户为什么要做网站app小程序定制开发
  • 罗浮视窗网站建设秦皇岛市人事考试网
  • 网站的静态资源服务器怎么做asp网站后台密码文件
  • 新网站如何做排名wordpress主题怎么制作
  • 网站服务器类型还能用的wap网站