make 和 make install

菜鸟弱弱问一句啊,既然makeinstall中的install指的是makefile里install:后面的语句,而make命令又是执行makefile里的所有语句,那为... 菜鸟弱弱问一句啊,既然make install中的install指的是makefile里install:后面的语句,而make命令又是执行makefile里的所有语句,那为什么make命令不会把install:后面的语句也执行了?
make应该不是执行makefile里的所有语句吧,想知道make都会执行makefile里的那些,哪些执行那些不执行的标记又是什么,或许对熟手来说我的理解有很多自相矛盾的地方,还希望指点,谢谢!
展开
 我来答
lb375
推荐于2018-02-23 · TA获得超过181个赞
知道答主
回答量:38
采纳率:0%
帮助的人:38.9万
展开全部
Hi,

Makefile里面记录的是 你的工程(也就是一堆程序的有序集合)的编译规则。

Makefile 大体语法是这样的:

colon ":" 前面是一个target的名称,后面是这个 target的编译规则。这一点你已经相当清楚了,无须多说。

理解的关键在于make命令。当你使用make命令是,格式是这样的 make [option: target_name]

也就是说,你在make 后面加上 target的名字,make就帮你执行这个target后面的编译规则。当然,这个 target名字是可选的,当不加的时候,make找到makefile里面的定义的第一个target, 执行后面的编译规则。(而不是安执行所有makefile里面的所有target的规则)

一般来说,一个makefile里面都会定义几个常用target,比如 config, install, clean, config就是根据你的环境配置一下各种变量,install就是现编译,在把编译好的内容放到该方的地方,clean就是删除掉编译出来的结果,把工程打回编译前只有源码的原始状态。

还有什么不明白推荐你看看陈皓的“跟我一起写Makefile”,写得非常棒。

http://blog.csdn.net/haoel/archive/2004/02/24/2886.aspx
启帆信息
2024-11-19 广告
启帆信息是英伟达中国区代理商,原厂授权代理,提供全面的软件技术解决方案以及NVIDIA以太网产品、交换机等产品,欢迎前来咨询!... 点击进入详情页
本回答由启帆信息提供
一抹夏忧的天秤dT
2018-04-13 · TA获得超过1.2万个赞
知道小有建树答主
回答量:84
采纳率:100%
帮助的人:1.2万
展开全部

make

这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或Python编写的软件需要调用perl或python来进行编译)。

如果 在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。

make 的作用是开始进行源代码编译,以及一些功能的提供,这些功能由他的 Makefile 设置文件提供相关的功能,比如 make install 一般表示进行安装,make uninstall 是卸载,不加参数就是默认的进行源代码编译。

make 是 Linux 开发套件里面自动化编译的一个控制程序,他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行某些需要的程序进行编译的程序。一般情况下,他所使用的 Makefile 控制代码,由 configure 这个设置脚本根据给定的参数和系统环境生成。

make install

这条命令来进行安装(当然有些软件需要先运行 make check 或 make test来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)

Lyinux语言定义

Lyinux语言是一种描述语言(Markup Language)语言,通过 文本的方式对3D场景进行描述,它是在VRML语言基础上的扩展与改进。它继承了VRML描述语言的基本节点,如Shape,Transform等,同时又针对CC6浏览器的实际应用扩展了如System,MoveController这样的节点。以这种文本的方式,是为了最好的与当前服务器配合,服务器可以通过PHP,JSP,ASP等 脚本语言与Lyinux语言配合使用,通过动态解析生成新的文本返回给客户端,只要服务器可以输出文本,并且符合CC6所支持的标准, 浏览器就可以动态的创建出任意场景。

Lyinux用类似HTML标记文本语言来描述三维场景,就象我们的编程语言,比如,上面的例子如果我们要规定正方体的边长为3厘米,可以这样写:Box{size 3.0 3.0 3.0}。

节点是什么?Lyinux语言用层次化的场景图来描述三维对象和世界。在场景图中的实体称为 节点。了解web语言的人都应该知道HTML,XML等都是 标记语言,在Lyinux中 节点就相当于HTML、XML中的标签,就像标签有自己的属性一样,每个节点也有每个节点的属性,在Lyinux中我们叫做域,把属性的值称为域值。比如Box{size 3.0 3.0 3.0},Box就是一个立方体 节点,花括号里size是描述长宽高的属性即域,size后跟的数值是属性值即域值。

Lyinux的特点

1)可编辑性

使用各种 文本编辑器都可以编辑Lyinux文件,还可以开发应用程序来创建、编辑和保存Lyinux文件,也可 将其它常用的三维文件格式转换为Lyinux支持的格式。

2)可重用性

提供了使用、组合并允许重用动态三维对象的能力。

3)可扩展性

提供了增加新的对象类型的能力。

4)跨平台性

在不同的 计算机平台上都能达到可扩展和交互的性能。

5)可伸缩性

允许任意大小的动态三维世界。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sensenhong
2015-04-28 · TA获得超过330个赞
知道小有建树答主
回答量:368
采纳率:100%
帮助的人:158万
展开全部
单独执行make的时候仅是执行第一个目标,make后 跟目标时才执行对应的目标。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
精灵cloudy
2011-06-20
知道答主
回答量:20
采纳率:0%
帮助的人:0
展开全部
弱弱地回答一句
楼主到底要问什么,是英文翻译吗
晕了
追问
哦哦不是,是linux下的命令
make和make install这两个命令
make 是搜索目录下的makefile里的必要内容然后执行编译什么的,我想问的就是它都执行makefile里的什么?
产生这个疑问的原因是,make install执行的也是makefile里的东西,执行的是makefile里边install:标志的东西,既然它也在makefile里,那为什么单一个make的那个命令(不加后续内容)会不执行makefile里边的install:
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式