最近工作忙的要死,明明积压了一大堆博文要写,结果却始终没有时间,也沉静不下心情来写。不过知识这种东西,如果不及时沉淀下来,恐怕很容易就会忘记了,所以还是赶紧写一下。
前几天在开小组例会,同事提到了一种makefile的写法,编译过大型工程的朋友应该都知道,当多个模块要协作编译的时候,通常要进入一个个目录去编译,所以,makefile可能如下所示:
all:
cd dir1;make all;
cd dir3;make all;
cd dir2;make all;
clean:
cd dir1;make clean;
cd dir3;make clean;
cd dir2;make clean;
当然,我们也可以用makefile自身的特性,即 make all/clean -C dir1来进行编译,但是实际上两种写法都避免不了3个问题:
1.当新加入一个模块的时候,要写入两句代码,一句是all,一句是clean ...