首页 > 其他分享 >为什么我的Makefile中存在同名目标,却没有报错?(一个目标下有命令,另一个目标下没有命令)

为什么我的Makefile中存在同名目标,却没有报错?(一个目标下有命令,另一个目标下没有命令)

时间:2022-08-21 14:48:19浏览次数:84  
标签:Makefile image AM 目标 命令 报错 HOME native

提问:为什么我的Makefile中存在同名目标,却没有报错?(一个目标下有命令,另一个目标下没有命令)

-------------------------------

详细描述:
我正在做PA2.2中的蓝框任务:阅读相关Makefile, 尝试理解abstract-machine是如何生成native的可执行文件的。

使用 native 作为运行时环境并运行 recursion 测试用例的方式是在 ${AM_KERNEL}/tests/cpu-tests 文件夹下
执行命令: make ARCH=native ALL=recursion run。于是,我从 ${AM_KERNEL}/tests/cpu-tests 文件夹下的
Makefile 开始追踪。

接着我追踪到了 ${AM_HOME}/Makefile 以及 这个Makefile 所include的 $(AM_HOME)/scripts/native.mk 两个Makefile文件。

我在 $(AM_HOME)/scripts/native.mk 下找到了 “run” 目标,“run”目标的依赖是“image”。

这时我遇到了让我困惑的事情,在 ${AM_HOME}/Makefile 以及 $(AM_HOME)/scripts/native.mk 下都有 image 目标,
只不过 ${AM_HOME}/Makefile 下的 image 目标没有需要执行的命令,而 $(AM_HOME)/scripts/native.mk 下的 image 目标
有需要执行的命令,如下两图。

我试着在 ${AM_HOME}/Makefile 下的 image 目标下插入了 一个echo 命令,结果再执行 make ARCH=native ALL=recursion run 就会报错,
这说明这两个 image 目标都在 make 构建过程中发挥了作用。

-------------------------------

为了解决我的问题,我做了如下尝试:
1. STFW。Google 搜索 “duplicate target in Makefile”。在这个网页我找到了答案 https://docs.oracle.com/cd/E19504-01/802-5880/make-24/index.html

标签:Makefile,image,AM,目标,命令,报错,HOME,native
From: https://www.cnblogs.com/yinhuachen/p/16609967.html

相关文章

  • redis命令操作list&set&sortedset和redis通用命令
    redis命令操作list&set&sortedset列表类型 list:可以添加一个元素到列表的头部(左边)或者尾部(右边)1.添加:lpush key value:将元素加入列表左边rpus......
  • redis命令操作
    命令操作——list列表类型list:可以添加一个元素到列表的头部(左边)或者尾部(右边)添加:1、lpushkeyvalue:将元素加入列表左边2、rpushkeyvalue:将元......
  • redis数据结构介绍以及命令操作string和hash类型
    redis的数据结构redis存储的是:key,value格式的数据,其中key都是字符串,value有5中不同的数据结构value的数据结构:(1)字符串类型string......
  • redis数据结构介绍和redis命令操作string&hash
    redis数据结构介绍redis的数据结构:redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构value的数据结构:1、字符串......
  • 新建Springboot项目默认test包下的测试类报错缺少org.junit.jupiter.api
    参考CSDN博客链接:https://blog.csdn.net/weixin_39764056/article/details/104402593本人使用IDEA新建了一个Springboot项目,然后导入了spring-boot-start-test依赖,该项目......
  • h3c s6800交换机probe命令
    <H3C>sysSystemView:returntoUserViewwithCtrl+Z.[H3C]probe[H3C-probe]?Probeviewcommands:INTEGER<0-1>SwitchNObcmBCM[H3C-p......
  • Conda常用命令
    虚拟环境查看已经安装的虚拟环境condaenvlistcondainfo-e创建Python虚拟环境condacreate-nYOUR_ENV_NAMEpython=x.x#-n指定虚拟环境名字;激活或切......
  • mysql 命令创建表格
    显示mysql相关显示命令:showdatabases;#显示数据库创建的数据库名use[databasename]#后showtables;查看table数据信息describe[tablename]#显示表格信息......
  • React报错之React Hook useEffect has a missing dependency
    正文从这开始~总览当useEffect钩子使用了一个我们没有包含在其依赖数组中的变量或函数时,会产生"ReactHookuseEffecthasamissingdependency"警告。为了解决该错误,禁......
  • usermod -aG命令
    原文链接:https://www.zhoubotong.site/post/73.html添加用户uos到组groupA里:usermod-a-GgroupAuos例如Docker需要用户具有sudo权限,为了避免每次命令都输入s......