有没有办法在每次使用时重新评估变量的定义?例如:
MAP_FILES = $(shell find $(TMP) -name "*.map")
all: generate_map_files work_with_map_files
generate_map_files:
./map-builder
work\_with\_map_files: $(MAP_FILES)
./map-user
%.map:
./map-edit $@
Run Code Online (Sandbox Code Playgroud)
因此,在读取makefile时将评估MAP_FILES,如果$ TMP目录中没有.map文件,则该变量将为空.但是在generate_map_files规则完成后,目录中会有.map文件,我希望这些.map文件的列表成为work_with_map_files规则的先决条件.
在生成之前我不知道.map文件的文件名,因此我无法明确声明带有文件名的变量.我需要在生成映射文件列表后设置变量.任何建议都会非常有帮助.谢谢.
您可以尝试进行递归制作,例如
MAP_FILES = $(shell find $(TMP) -name "*.map")
all: generate_map_files
generate_map_files:
./map-builder; $(MAKE) work_with_map_files
work\_with\_map_files: $(MAP_FILES)
./map-user
%.map:
./map-edit $@
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3178 次 |
| 最近记录: |