随着Linux的深入了解,我们知道为什么Linux会赶上微软。在当今社会Linux越来越成为主流,本文为你详细介绍Linux Make规则,为你在学习Linux Make规则时起一定的作用。这是一段在Makefile中常见的规则 。 1.clean:# @. X. t% [" h
2.rm -r core *.o *.a tmp_make
+ U& {% B4 f% n 3.for i in *.c; do rm -f `basename $$i .c`.s; done
5 M* J+ G% G# z# y( f 4.(cd chr_drv; make clean)
% n1 @3 x' k& p 5.(cd blk_drv; make clean)
* ]% |# X7 T: C 6.(cd math; make clean)
/ x- g6 j2 a9 X; i6 F 第一句的 rm -f core *. *.a tmp_make 作用只是删除文件,意思直白,没什么好说的。
, P1 W3 b+ T4 K) W4 p 第二句 for 循环遍历目录下所有的文件,将所有后缀名为.c文件名依次赋给i。然后执行do语句,当符合循环结束是执行done。可以说这里的for和shell里for语法是如此貌似。" U/ z, n, T `& l
我们可以来做个实验来验证一下:
6 ]. U' L/ A1 k% c# S; k. Y( u" Y 1.$ mkdir test #建立个实验用的目录
! C5 b7 V, e% @8 b. {+ t! Q* Q 2.$ cd test3 v) t' A* W( ? o; k$ j. q
3.$ touch a.x #建几个实验用的文件
$ [& L3 b; q3 C/ `( t 4.$ touch b.x
* D3 R+ X; k# M, `2 o' X 5.$ touch yy.x. f8 H# x9 B# ^! x0 d- c M
6.$ vi Makefile #写个实验脚本; g1 o8 S( e8 t# c7 n* g
在文件中写入:
$ }0 o8 c( [% R ~& E, |$ I# E7 F clean:
j2 J. j- C2 |5 c" C. `; U- B1 P for i in *.x; do echo $$i; done |