ifdef CUSTOM_CONFIG
rom: chk_custom_cfg create_custom_binaries
else
rom: create_binaries
endif
chk_custom_cfg:
ifdef CUSTOM_CONFIG
export CUSTOM_CONFIG
$(eval CUST_CFG_DATA_FILES=$(CUSTOM_CONFIG))
export CUST_CFG_DATA_FILES
$(eval CUST_CFG_DATA_MEM_FILES=$(addprefix bin/,$(notdir $(CUST_CFG_DATA_FILES:.csv=.mem))))
export CUST_CFG_DATA_MEM_FILES
$(eval CUST_CFG_DATA_BIN_FILES=$(addprefix bin/,$(notdir $(CUST_CFG_DATA_MEM_FILES:.mem=.bin))))
export CUST_CFG_DATA_BIN_FILES
$(eval CUST_COMBINED_BIN_FILES=$(subst .bin,_combined.bin,$(CUST_CFG_DATA_BIN_FILES)))
export CUST_COMBINED_BIN_FILES
@echo existing cfg files $(CUST_CFG_DATA_FILES)
@echo existing mem files $(CUST_CFG_DATA_MEM_FILES)
@echo existing bin files $(CUST_CFG_DATA_BIN_FILES)
@echo existing combined files $(CUST_COMBINED_BIN_FILES)
endif
build_images: copy_ops_imgs
create_binaries: config $(COMBINED_BIN_FILES)
create_custom_binaries: cust_config $(CUST_COMBINED_BIN_FILES)
@echo print all the pre required $^
@echo custom config bin files $(CUST_CFG_DATA_BIN_FILES)
@echo custom config bin files $(CUST_COMBINED_BIN_FILES)
В цели create_custom_binaries
при печати $^
, получая только cust_config
, я ожидаю $(CUST_COMBINED_BIN_FILES)
также часть предпосылки для цели cust_config
$(CUST_COMBINED_BIN_FILES) is set when CUSTOM_CONFIG is defined.
e.g:make --debug CUSTOM_CONFIG=.config.csv rom.
- Почему предварительное условие $ (CUST_COMBINED_BIN_FILES) пусто для цели
- create_custom_binaries?тогда как @echo custom config bin files $ (CUST_COMBINED_BIN_FILES) дает правильное значение !!
Я ценю любые указания на это.Моя цель - создать другую цель на основе входных данных, сохраненных в CUSTOM_CONFIG