为何要弄makefile和shell两种工具?其中一个是否可以完全包含另一个的功能?

german010 2018-11-27 11:56:48
请教,为何要弄makefile和shell两种工具?其中一个是否可以完全包含另一个的功能?
...全文
413 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mz454619501 2018-12-11
  • 打赏
  • 举报
回复
如果说makefile是少林组合拳,那shell就是武林风,你可以在这个平台上尽情的耍,在规则之内,你可以尽情的出招,你也可以享受变招的乐趣
糊涂的小白 2018-12-11
  • 打赏
  • 举报
回复
shell是瑞士军刀,提供了各种功能。makefile是建筑图纸,规定了编译顺序、依赖关系、编译方法,部分编译方法会用到瑞士军刀中的一些功能
懒得上楼 2018-12-07
  • 打赏
  • 举报
回复
这两个一般是在BSP中搭建BSP编译环境结合起来用的 因为在BSP编译中,需要用到很多环境变量(包括不同版本编译器的配置或交叉编译器等) 所以为了在不破坏原本的环境变量时,结合起来用 因为shell是一个独立的进程环境,所以在shell中指定了需要的环境变量后,再调用Makefile就可以做到不更改原本的环境变量的同时,完成编译工作。 常用架构如: 顶层Makefile配置相关路径,检查所需文件等,然后调用指定的shell脚本,shell脚本中定义指定的环境变量,然后到负责实际编译任务的Makefile目录下调用make,将编译后的结果统一输出到指定的目录下,完成编译
water-moon 2018-11-30
  • 打赏
  • 举报
回复
完全不一样的东西。 Makefile 目标单一,就是用于 make 调用完成目标的生成,通过 Makefile 的目标、依赖、命令形成的规则,可以控制编译的过程和重编译的差异编译。 shell 是用于 linux 下的交互平台,定位是可以通过其调用各种 linux 的工具进行执行,shell 服务的是整个系统。
ckc 2018-11-29
  • 打赏
  • 举报
回复
这两个差异很大 makefile是给make使用的控制文件,主要用来管理编译的过程 shell是一个人机交互的平台,用在人与操作系统之间
老马何以识途 2018-11-28
  • 打赏
  • 举报
回复
這根本就是兩個東西啊 Makefile是用在編譯上的,shell是Linux控制臺,操作用的。至於Makefile裏面有shell,只是因爲shell功能强大。
英雄@末路 2018-11-28
  • 打赏
  • 举报
回复
侧重点不同,虽然makefile也算一种脚本

23,115

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧