Gmake: Eval внутри рецепта в функции - PullRequest
0 голосов
/ 16 октября 2011

Есть ли способ сделать такую ​​вещь в make-файле для gmake:

GOALS := g1
define fun_one
    @echo "blabla"  #this causes an error - maybe can't be recognized as a recipe
endef

define fun_two
$(1):
$(eval $(call fun_one,$(1)))
endef

$(forech goal, $(GOALS), $(eval $(call fun_two,$(goal))))

all: ${GOALS}

Насколько я понимаю, я не могу определить часть рецепта вне функции, которая определяет правило,я пишу?

1 Ответ

2 голосов
/ 16 октября 2011

Нет необходимости в первом eval;он просто говорит Make ввести эту строку , пока она все еще анализирует определение fun_one .Удалите eval, и make-файл будет работать:

define fun_two
$(1):
$(call fun_one,$(1))
endef
...