gpt4 book ai didi

makefile - gnu make : list the values of all variables (or "macros") in a particular run

转载 作者:行者123 更新时间:2023-12-02 10:26:32 27 4
gpt4 key购买 nike

运行 make 时如何列出 Makefile 中所有变量(也称为宏)的当前值?

例如如果这是在 Makefile 中:

CUR-DIR := $(shell /bin/pwd)
LOG-DIR := $(CUR-DIR)/make-logs

然后我希望它告诉我:

CUR-DIR = /home/johv/src/test
LOG-DIR = /home/johv/src/test/make-logs

最佳答案

GNU make 提供 .VARIABLES它保存所有全局变量的名称。但是,这包括内置变量(例如 MAKEFLAGS)。如果您必须排除内置变量,请进行一些过滤,如下所示可能需要。以下 makefile 打印用户定义的变量(CUR-DIR, LOG-DIR)使用信息:

# Place this line at the top of your Makefile
VARS_OLD := $(.VARIABLES)

# Define your variables
CUR-DIR := $(shell pwd)
LOG-DIR := $(CUR-DIR)/make-logs

# Put this at the point where you want to see the variable values
$(foreach v, \
$(filter-out $(VARS_OLD) VARS_OLD,$(.VARIABLES)), \
$(info $(v) = $($(v))))

关于makefile - gnu make : list the values of all variables (or "macros") in a particular run,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7117978/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com