在1中举的例子在实际的工程运用中是不太可能出现的,下面我们来进行一些较复杂的makefile的编写。
写过perl的同学写makefile应该很轻松。
在makefile中可以使用变量定义,有两种方式,一种是递归展开,还有就是简单方式。
在递归方式中,变量的引用是一次性全部展开,可能导致无穷的循环。简单方式是为解决此种问题,只进行一次替换,不包含对其他变量的引用,从而消除嵌套的引用。
makefile中变量名的起名规则和C++中的标识符的规则是一样的。在makefile中已经有了一些特殊的预定义变量和自动变量,所以在起名是应该避免一些特殊的变量名。
makefile中常见的预定义变量
makefile中常见的自动变量
我们现在将昨天写的小例子重新写一下
运行结果:
自动变量的书写比较难,但熟练使用之后会很快的完成你的makefile
运行结果和上面的一样