美文网首页BB-black开发板[Linux arm-v8]
Makefile复习--Apple的学习笔记

Makefile复习--Apple的学习笔记

作者: applecai | 来源:发表于2020-09-25 21:05 被阅读0次

10年前第一次学习Makefile就是这份资料。现在正好在做底层,那么就拿出来复习下。

  1. “.PHONY : all”声明了“all”这个目标为“伪目标”。
  2. “%.o”表明要所有以“.o”结尾的目标,也就是“foo.o bar.o”
  3. <”表示所有的依赖目标集(也就是“foo.c bar.c”),“@”表示目标集(也就是“foo.o bar.o”)。
  4. 如果你使用GNU的C/C++编译器,你得用“-MM”参数,不然,“-M”参数会把一些标准库的头文件也包含进来。
  5. 如果make执行时,带入make参数“-n”或“--just-print”,那么其只是显示命令,但不会执行命令,这个功能很有利于我们调试我们的Makefile,看看我们书写的命令是执行起来是什么样子的或是什么顺序的。
  6. 如果你要传递变量到下级Makefile中,那么你可以使用这样的声明:export <variable ...>
  7. 如果我们执行“总控Makefile”时有make参数或是在上层Makefile中定义了这个变量,那么MAKEFILES变量将会是这些参数,并会传递到下层Makefile中,这是一个系统级的环境变量。
  8. 还有一个在“嵌套执行”中比较有用的参数,“-w”或是“--print-directory”会在make的过程中输出一些信息,让你看到目前的工作目录。
  9. include_dirs
    CFLAGS = (include_dirs) -O include_dirs = -Ifoo –Ibar 10 :=,+=,?=和=含义。 11.“(var:a=b)”或是“{var:a=b}”,其意思是,把变量“var”中所有以“a”字串“结尾”的“a”替换成“b”字串。bar :=(foo:%.o=%.c)也是替换
  10. 如果make指定了“-e”参数,那么,系统环境变量将覆盖Makefile中定义的变量,不推荐把许多的变量都定义在系统环境中。
  11. 变量可以定义在某个目标上。模式变量的好处就是,我们可以给定一种“模式”,可以把变量定义在符合这种模式的所有目标上。
  12. 条件判断ifeq/ifneq/ifdef
  13. 常用函数subst、patsubst、strip、findstring、filter、filter-out、wordlist、notdir、suffix、join
  14. $(foreach <var>,<list>,<text>)
  15. $(if <condition>,<then-part>)
  16. call函数

相关文章

  • Makefile复习--Apple的学习笔记

    10年前第一次学习Makefile就是这份资料。现在正好在做底层,那么就拿出来复习下。 “.PHONY : all...

  • Makefile学习笔记

    Makefile学习笔记 学习Makefile的资料 《跟我一起写makefile》 《GUN make manu...

  • Makefile自动化变量

    学习笔记,摘自陈皓的《跟我一起写 Makefile》 Makefile规则 Makefile文件由一系列规则构成。...

  • Linux input子系统框架--Apple的学习笔记

    按键中断解决irq_of_parse_and_map返回0的问题--Apple的学习笔记我为了复习相关函数和io模...

  • bb-black添加SocketCAN驱动--Apple的学习笔

    Linux基于pinctrl的LED控制—Apple的学习笔记我先复习了下设备树,然后做了LED控制把整个流程过了...

  • Makefile学习笔记

    Makefile学习笔记 概述 什么是makefile?或许很多Windows程序员都不知道这个东西,因为那些Wi...

  • Makefile学习笔记

    格式:ar rcs libxxx.a xx1.o xx2.o 链接 参数r:在库中插入模块(替换)。当插入的模块...

  • Makefile 学习笔记

    1.命令前的-号表示命令执行失败后继续执行接下来的操作。 2.环境变量中MAKEFIELmake指令会把环境变量中...

  • Makefile学习笔记

    1. 概述 1.1 前言 之前在Linux下写C/C++都是直接输命令行,虽然有使用make的经历,但没有自己动手...

  • 理论复习:MMU技术--Apple的学习笔记

    前言: 为什么要复习MMU和Cache,因为我之前就学习过uboot,但是当初跳过了MMU,另外我平时学习过程中基...

网友评论

    本文标题:Makefile复习--Apple的学习笔记

    本文链接:https://www.haomeiwen.com/subject/jzcquktx.html