makefile:管理项目

  • 命名:makefile Mskefile    ---make 命令

  • 1个规则:

    • 目标:依赖条件

      • (一个tab缩进)命令

    • 1.目标的时间必须晚于依赖条件的时间,否则,跟新目标

    • 2.依赖条件如果不存在,找寻找的规则去产生依赖。

  • ALL:指定makefile的终极目录。

  • 2个函数:

    • src=$(wildcard ./*.c):匹配当前工作目录下的所有.c文件。将文件名组成列表,赋值给变量src。     src=add.c    sub.c   div1.c

    • obj=$=(patsubst %.c,%.o,$(src)):将参数3中,包含参数1的部分,替换为参数2。obj=add.o sub.o div1.o

  •  clean:(没有依赖)

    • -rm -rf $(obj) a.out       “-”:作用是,删除不存在文件时,不报错。顺序执行结束。

  • 3个自动变量:

    • $@:在规则的命令中,表示规则中的目标。

    • $^:在规则的命令中,表示所有依赖条件。

    • $<:在规则的命令中,表示第一个依赖条件。如果将该变量应用在模式规则中,他可以将依赖条件中的依赖依次取出,套用模式规则。

  • 模式规则:

    • %.o:%.c

      • gcc -c $< -o %@

  • 静态模式规则:

    • %.o:%.c

      • gcc -c $< -o %@