嵌入式培训学习历程第十八天

              makefile

  1. 想要了解一个项目的流程,,第一步 ,,看makefile文件。

  2.makefile 本质 : 用来管理工程文件的工具

    指令 make

    好处 : 提高工作效率,减少出错概率

    基本规则 :三部分组成  

              目标 :依赖

              (tab)命令(只有一个Tab)

  3.文件名只有makefile和Makefile两种,如果不是这两种,需要使用 make -f 文件名  进行调用

  4. 工作原则 :

        检查规则中的依赖条件是否存在

        检查该规则中的目标是否需要更新

  5.echo $? 查看上次程序退出的返回值

   echo $ PATH

  6.重要  一种规则  两种函数  三个变量

    三个自动变量 :

        $@ : 表示规则当中的目标。(在命令中)

        $< : 表示规则中的第一个条件(在命令中)

        $^ : 表示规则中的所有条件,组成一个列表,用空格隔开

     扩展:$? :表示规则中所有比目标文件新的文件,组成一个列表, 用空格隔开

    两个函数:

        src = $(wildcard *.c)

            将当前目录中的所有以.c结尾的文件展开成src的内容

        obj = $(patsubst %.c, %.o, $(src))

            将src变量中.c结尾的文件替换为.o结尾的文件

    一个规则 :

        模式规则 : 

            %.o : %.c

              $(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@

            注意 :只有写成模式规则的时候, $< 表示依赖条件依次取出

  7. 注释使用“#”

  8.foo = abc

    bar = &(foo)

    向变量定义使用’=‘

    变量值得使用$(变量名)

  扩展 : all : 执行主要的编译工作

        Project
src (源文件) obj(目标文件) include(头文件) media(媒体文件) lib(库文件) makefile

    英语: target(目标)  multiple(多种)  definition(定义)

原文地址:https://www.cnblogs.com/cxw825873709/p/3249087.html