|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
看不懂man文档的人.在linux中,命令可分为系统基本命令和应用程序命令.系统基本命令是所有的unix类系统都支持的命令,走到哪都不变,只要是unix类系统上就肯定有.
跟着Linux的深切懂得,我们晓得为何Linux会遇上微软。在现今社会Linux愈来愈成为支流,本文为你具体先容LinuxMake划定规矩,为你在进修LinuxMake划定规矩时起必定的感化。这是一段在Makefile中罕见的划定规矩。
1.clean:
2.rm-rcore*.o*.atmp_make
3.foriin*.c;dorm-f`basename$i.c`.s;done
4.(cdchr_drv;makeclean)
5.(cdblk_drv;makeclean)
6.(cdmath;makeclean)
第一句的rm-fcore*.*.atmp_make感化只是删除文件,意义直白,没甚么好说的。
第二句for轮回遍历目次下一切的文件,将一切后缀名为.c文件名顺次赋给i。然后实行do语句,当切合轮回停止是实行done。能够说这里的for和shell里for语法是云云貌似。
我们能够来做个实行来考证一下:
1.$mkdirtest#创建个实行用的目次
2.$cdtest
3.$toucha.x#建几个实行用的文件
4.$touchb.x
5.$touchyy.x
6.$viMakefile#写个实行剧本
在文件中写进:
clean:
foriin*.x;doecho$i;done
写好后,保留加入。运转命令:
$make
随后可看到输入的了局:
1.foriin*.x;doecho$i;done
2.a.x
3.b.x
4.yy.x
看到了局,for语句完成的功效就很分明了。
关于了局,有一个奇异的就是,本来剧本中的$i,在输入是就酿成了$i。这时候的for是否是就是一样了。如今能够先做个结论,make处置剧本可shell处置剧本几近相同,只是一般情形下要做变通。make会对$x举行扩大。好比:
1.ec=echo
2.test:
3.$(ec)ddd
就能够在屏幕上看到输入:
1.echoddd
2.ddd
以是应当是make对Makefile举行处置,将其酿成shell可实行的剧本,最初由shell注释器来实行有make翻译过的剧本。而且是翻译一句然后shell实行一句,关于这个能够再做个考证。
1.e=echo
2.prt=ls
3.clean:
4.$(prt)
5.foriin*.x;do$e$i;done
其输入为:
1.ls
2.a.sha.xb.xMakefileyy.x
3.foriin*.x;doecho$i;done
4.a.x
5.b.x
6.yy.x
能够看到,$(prt)被扩大后就当即实行了。前面的for也是如许。
到这里开篇的谁人例子算是剖析终了了。上面在看看Makefile中的划定规矩界说,在make中的划定规矩分为两种,一种是显现划定规矩,另外一种无可争议的就是隐含划定规矩了。
显现划定规矩,界说以下
方针文件:依附文件
天生方针文件的划定规矩
隐含划定规矩
.源文件扩大名.方针文件扩大名:
天生方针文件的划定规矩
在利用隐含划定规矩时要利用一些内定宏来指定文件名:
$@全路径的方针文件
$*往除扩大名的全路径的方针文件
$?一切源文件名
{GetProperty(Content)}lt;源文件名
以上就是LinuxMake划定规矩的常识
</p>
在这里你会学到更多的知识,学习linux,更要学习一种geek的精神,python之禅中也说过:以总结分享为荣,以跪求其解为耻; |
|