Makefile书写规则


  • Makefile必须要以[Tab]键开始。并且和Shell一样一条条执行。
  • 规则包括依赖关系和生产目标的方法。
  • 规则的顺序非常重要,第一条规则中的目标会被定为终极目标。如果第一条规则中有多个目标,那么第一个目标会成为终极目标。
  • 支持shell中的通配符“*”,“?”和“[...]”。
  • 指明查找路径使用“VPATH”。例:VPATH = src:../headers(冒号是分隔符),先在当前目录找, 然后在src目录和上一级目录的headers目录中找。
  • .PHONY用来指定一个目标是伪目标,类似于标签,避免和文件名重名。

例子:

aout bout:text.g
    generate text.g -$(subst output,,$@)>$@

等价于:

    outa:text.g 
    generate text.g -a > aout
    outb:text.g
    generate text.g -b > bout

    -$(subst output,,$@)>$@ 第一个$表示执行一个Makefile函数,函数名为subst,output为函数参数,这个函数的作用是截取字符串。$@表示目标集合,本例中的集合包括aout bout。

未完待续...

发布了146 篇原创文章 · 获赞 160 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/baidu_33879812/article/details/104682687