Ubuntu--查看Makefile内置变量

  • 时间:
  • 来源:互联网
  • 文章标签:

在看uboot的Makefile的时候,发现CURDIR这个变量没有定义就直接用了,于是百度了一下,原来CURDIR是Makefile的一个内置变量,在这里顺便把其他的变量也记录一下。

打印变量值使用命令:

make -p > xx

-p, --print-data-base Print make’s internal database。即打印makefile 的执行规矩等。从而查看到相应的makefile中的各个变量的值。xx 把这些数据都重定向到xx这个文件中。

变量分为了环境变量、内置变量和自动变量。

  • 环境变量:
PAPERSIZE = letter
DESKTOP_SESSION = ubuntu
XDG_SESSION_TYPE = x11
XAUTHORITY = /home/zht/.Xauthority
_ = /usr/bin/make
......
  • 内置变量:
CURDIR := /home/zht # 记录当前路径
SHELL = /bin/sh
MAKEFILE_LIST :=  Makefile
.DEFAULT_GOAL := all
MAKEFLAGS = p
HOSTARCH := x86_64
CC = cc 		# C语言编译器的名称
CPP = $(CC) -E  # C语言预处理器的名称 $(CC) -E
CXX = g++       # C++语言的编译器名称
RM = rm -f		# 删除文件程序的名称
CFLAGS			# C语言编译器的编译选项,无默认值
CPPFLAGS  		# C语言预处理器的编译选项,无默认值
CXXFLAGS		# C++语言编译器的编译选项,无默认值
......
  • 自动变量:
$@:表示目标文件的名称,包含扩展名
$^:表示所有的依赖文件,以空格隔开,不重复
$<:表示第一个依赖文件的名称
$+:表示所有的依赖文件,空格隔开,可以重复
$*:表示目标文件的名称,不包含扩展名
$?:依赖项中,所有比目标文件新的依赖文件

参考文档:

  • http://blog.chinaunix.net/uid-28458801-id-4080488.html
  • https://blog.csdn.net/zhang800806/article/details/42811755

本文链接http://www.taodudu.cc/news/show-647397.html