跳转至

Makefile 的变量#

变量在声明时需要给予初值,而在使用时,需要给在变量名前加上 $ 符号,并用小括号 () 把变量给包括起来。

1 变量的定义#

cpp := src/main.cpp 
obj := objs/main.o

2 变量的引用#

  • 可以用 (){}
    cpp := src/main.cpp 
    obj := objs/main.o
    
    $(obj) : ${cpp}
        @g++ -c $(cpp) -o $(obj)
    
    compile : $(obj)
    

3 预定义变量#

  • $@: 目标(target)的完整名称
  • $<: 第一个依赖文件(prerequisties)的名称
  • $^: 所有的依赖文件(prerequisties),以空格分开,不包含重复的依赖文件
    cpp := src/main.cpp 
    obj := objs/main.o
    
    $(obj) : ${cpp}
        @g++ -c $< -o $@
        @echo $^
    
    compile : $(obj)
    .PHONY : compile
    

4#