• 【makefile】使用指南


    常见的内置变量Variables

    CC:C 编译器的名称。
    CFLAGS:C 编译器的选项。
    LD:链接器的名称。
    LDFLAGS:链接器的选项。
    AR:静态库的归档工具。
    RM:删除文件的命令。
    MAKE:Make 工具的名称。
    MAKEFLAGS:Make 工具的选项。
    CURDIR:当前工作目录的路径。
    SHELL:Shell 程序的名称。
    MAKEFILE_LIST:包含当前 Makefile 和所有被包含的 Makefile 的列表。


    $(CC):C 编译器的名称。
    $(CXX):C++ 编译器的名称。
    $(AR):静态库归档工具的名称。
    $(LD):链接器的名称。
    $(AS):汇编器的名称。
    $(FC):Fortran 编译器的名称。
    $(RM):删除文件的命令。
    $(MAKE):Make 工具的名称。
    $(MAKECMDGOALS):被调用的目标列表。
    $(MAKEFILE_LIST):包含当前 Makefile 的文件列表。
    $(SHELL):Shell 解释器的名称。
    $(CURDIR):当前工作目录的绝对路径。
    $(PWD):当前工作目录的绝对路径。
    $(ARFLAGS):静态库归档工具的选项。
    $(LDFLAGS):链接器的选项。
    $(ASFLAGS):汇编器的选项。
    $(CPPFLAGS):预处理器的选项。
    $(CFLAGS):C 编译器的选项。
    $(CXXFLAGS):C++ 编译器的选项。
    $(FFLAGS):Fortran 编译器的选项。
    $(LFLAGS):链接器的选项。


    AR:静态库归档程序的名称。
    CC:C 编译器的名称。
    CXX:C++ 编译器的名称。
    CFLAGS:C 编译器的选项。
    CXXFLAGS:C++ 编译器的选项。
    CPPFLAGS:预处理器选项。
    LD:链接器的名称。
    LDFLAGS:链接器的选项。
    LIBS:要链接的库。
    RM:删除文件的命令。
    MAKE:Make 工具的名称。
    MAKEFLAGS:Make 工具的选项。

    MAKEFILE_LIST

    CC

    CFLAGS

    常见的内置函数

    $(patsubst pattern,replacement,text):替换模式字符串。
    $(wildcard pattern):匹配指定模式的文件列表。
    $(foreach var,list,text):迭代列表中的每个元素,并将文本应用于每个元素。
    $(shell command):执行命令并返回结果。
    $(notdir names):从文件名路径中提取文件名部分。
    $(basename names):从文件名路径中提取基本名称部分。
    $(dir names):从文件名路径中提取目录部分。
    $(addsuffix suffix,names):将后缀添加到每个名称。
    $(addprefix prefix,names):将前缀添加到每个名称。


    $(wildcard pattern):匹配指定模式的文件列表。
    $(shell command):执行命令并返回结果。
    $(foreach var,list,text):迭代列表中的每个元素,并将文本应用于每个元素。
    $(if condition,then-part[,else-part]):根据条件选择不同的文本。
    $(call variable,param,…):调用变量,并传递参数。
    $(subst from,to,text):将文本中的字符串替换为另一个字符串。
    $(patsubst pattern,replacement,text):替换模式字符串。
    $(strip string):移除字符串中的前导和尾随空格。
    $(findstring find,in):在字符串中查找子字符串。
    $(filter pattern…,text):根据模式过滤文本中的元素。
    $(dir names):从文件名路径中提取目录部分。
    $(notdir names):从文件名路径中提取文件名部分。
    $(suffix names):提取文件名路径中的后缀。
    $(basename names):提取文件名路径中的基本名称。
    $(addsuffix suffix,names):为文件名路径添加后缀。
    $(addprefix prefix,names):为文件名路径添加前缀。


    $(wildcard pattern):匹配指定模式的文件列表。
    $(shell command):执行命令并返回结果。
    $(patsubst pattern,replacement,text):替换模式字符串。
    $(subst from,to,text):将文本中的字符串替换为另一个字符串。
    $(foreach var,list,text):迭代列表中的每个元素,并将文本应用于每个元素。
    $(if condition,then-part,else-part):根据条件选择返回不同的部分。
    $(filter pattern…,text):筛选出符合模式的文本。
    $(addprefix prefix,name…):为名称添加前缀。
    $(addsuffix suffix,name…):为名称添加后缀。
    $(notdir names):从文件名路径中提取文件名部分。
    $(dir names):从文件名路径中提取目录部分。
    $(shell command):执行命令并返回结果。
    $(error message):输出错误消息并停止构建过程。
    $(warning message):输出警告消息。
    $(info message):输出一般消息。

    wildcard

    (patsubst pattern,replacement,text)

    foreach

    (foreach var,list,text)

    路径

    当前执行路径

    makefile所在路径

    参考

  • 相关阅读:
    3 万亿美元,苹果问鼎全球市值最高公司宝座
    select2之 下拉框带实时搜索功能
    SpringBoot启动代码和自动装配源码分析
    抢先体验! 在浏览器里写 Flutter 是一种什么体验?
    微信小程序:选择器标签摘要
    算法进阶系列1 空间搜索 GeoHash 算法
    利用pytorch自定义CNN网络(二):数据集的准备
    有哪些高质量的自学网站?
    采集Nginx日志的几种方式
    flink集群与资源@k8s源码分析-回顾
  • 原文地址:https://blog.csdn.net/Xminyang/article/details/134480697