Обычно я использую вызов foreach в make-файле. Несмотря на это, я хотел попробовать разные подходы.
Для этого я создал код ниже.
Я использую GNU Make 3.81
Я заменил eval на информацию, чтобы понять, что происходит.
Я не могу избежать как вызова, так и расширения eval, чтобы сохранить файл $
Я имею в виду, когда я открываю файл, я получаю:
"для файла в * .v; do echo; echo; done;> trial.sh;"
define create_area
$(1): $(2)
mkdir -p $$(@D); \
cp -nLr -v $(2)/* $$(@D); \
cd $$(@D); \
for file in *.v; do echo $$(file); \
done; \
" > trial.sh;
$(foreach a,$(A1) $(A2),\
$(foreach b,$(B1),\
$(eval $(call create_area,$(a),$(b)))))
Заранее спасибо,