主页

索引

模块索引

搜索页面

常用

命令:

make [ -f makefile ] [ options ] ... [ targets ] ...

指定Makefile文件:

$ make -f rules.txt
# 或者
$ make --file=rules.txt

Makefile文件默认顺序:

1. GNUmakefile
2. makefile
3. Makefile

常用options参数:

// 在读取makefile前先切换路径
-C dir, --directory=dir

Special Built-in Target Names:

// 当执行make <cmd> ,如找不到<cmd>就执行它
.DEFAULT
// 可以设定指定目标为伪目标
.PHONY

// 当前makefile内支持文件后缀的类型列表
.SUFFIXES
:
.SUFFIXES:             # 删除缺省的后缀列表
.SUFFIXES: .cpp .obj   #把.cpp和.obj添加到后缀列表中



// 导出所有的Makefile中的变量(:有多少变量就执行多少次export xxxx)
.EXPORT_ALL_VARIABLES

打印&调试

  1. 使用info/warning/error增加调试信息:

    方法1: $(info, "here add the debug info")
      但是此不能打印出.mk的行号
    
    方法2: $(warning, "here add the debug info")
    
    方法3: $(error "error: this will stop the compile")
      这个可以停止当前makefile的编译
    
    方法4: 打印变量的值
      $(info, $(TARGET_DEVICE) )
    
  2. 使用echo增加调试信息(echo只能在target:后面的语句中使用,且前面是个TAB):

    方法1: @echo "start the compilexxxxxxxxxxxxxxxxxxxxxxx"
    
    方法2: @echo $(files)
    

参考

主页

索引

模块索引

搜索页面