Makefile初探4-引用其他的Makefile(include)

  • 有时候Makefile总体比较复杂,因此分成好几个Makefile来写。然后在主Makefile中引用其他的,用include指令来引用。引用的效果也是原地展开,和C语言中的头文件包含非常相似。

语法: include filename  (filename 可以包含通配符和路径)

实例1:

主目录的Makefile文件如下:

  1 all:
  2     @echo "main makefile begin"
  3     @echo "$(FLAG)"
  4     @echo "main makefile end"
  5 include ./include/Makefile

./include目录下的Makefile文件如下: 

  1 FLAG:=ARM
  2 
  3 other-all:
  4     @echo "other makefile begin"
  5     @echo "other makefile end"

在主目录下执行make all命令之后,结果如下:

main makefile begin
ARM
main makefile end

 注意一个细节:在include目录下的Makefile文件FLAG变量的赋值是:=赋值,而主Makefile文件中的include命令却是在末尾,这样也能打印出ARM。

实例2:

主目录的Makefile文件如下:命令前面加上@表示静默执行,即屏幕不打印本次执行的命令,只是输出本次命令执行之后的结果

  1 all:
  2     @echo "main makefile begin"
  3 
  4     make other-all
  5     @echo "main makefile end"
  6 include ./include/Makefile

./include目录下的Makefile文件如下:

  1 other-all:
  2     @echo "other makefile begin"
  3     @echo "other makefile end"

在主目录下执行make all命令之后,结果如下:

main makefile begin
make other-all
make[1]: Entering directory `/home/exbot/liyijun'
other makefile begin
other makefile end
make[1]: Leaving directory `/home/exbot/liyijun'
main makefile end

本文只是介绍了最简单的用法,具体的细节请移步以下博文:

https://www.cnblogs.com/cuckoos/articles/5049984.html

猜你喜欢

转载自blog.csdn.net/wwwlyj123321/article/details/81699805