Makefile origin函数
顾名思义,origin函数的作用就是告诉你,你所关注的一个变量是从哪里来的。函数的使用格式为:
$(origin <variable>)
如果变量没有定义,origin函数的返回值为:undefined,不同的返回值代表变量的类型不同。常见的返回值如下;
- default:变量是一个默认的定义,比如 CC 这个变量
- file:这个变量被定义在Makefile中
- command line:这个变量是被命令行定义的
- override:这个变量是被override指示符重新定义过的
- automatic:一个命令运行中的自动化变量
使用示例:
.PHONY: all
WEB = www.zhaixue.cc
web_type = $(origin WEB)
all:
@echo "web_type = $(web_type)"
@echo "cc_type = $(origin CC)"
@echo "cmd_type = $(origin CMD)"
执行make命令,运行结果为:
# make
web_type = file
cc_type = default
cmd_type = undefined
# make CMD=pwd
web_type = file
cc_type = default
cmd_type = command line
《Makefile工程实践》视频教程,一线开发工程师独家录制,网上首家讲解Makefile的实战课程。从零开始,教你一步一步编写一个工程项目的Makefile,支持使用第三方静态库、动态库,支持指定模块或目录编译生成静态库、动态库,赠送企业级的Makefile模板,学完即可拿来使用,投入项目开发实战,具备独立开展项目开发和管理的能力。详情请点击淘宝链接:Linux三剑客