我想以跨平台的方式获取生成文件列表。
但是在 Windows 上,MAKEFILE_LIST 不支持井空间(不受保护):
$(warning MAKEFILE_LIST=$(MAKEFILE_LIST))
给出以下结果(因为 Makefile 包含在另一个中):
MAKEFILE_LIST= Makefile C:/Program Files/MyApp/Makefile.include
make 字符串操作不足以处理这个问题,获取顶级 Makefile 的常规方法不起作用:
THIS_MAKEFILE := $(lastword $(MAKEFILE_LIST))
显然会返回这个损坏的结果(因为lastword基于空格):
THIS_MAKEFILE=Files/MyApp/Makefile.include
有什么解决方案可以彻底解决这个问题(意味着使用 make 函数或系统命令调用)?