Définition de fonctions de création GNU personnalisées

Quel est le problème avec le dep2 fonction dans l'exemple de code ci-dessous?

dep1 = $(eval makefile_list_$1 := $(MAKEFILE_LIST))$(eval -include $1.mk)$(eval MAKEFILE_LIST := $(makefile_list_$1))

define dep2
$(eval makefile_list_$1 := $(MAKEFILE_LIST))
$(eval -include $1.mk)
$(eval MAKEFILE_LIST := $(makefile_list_$1))
endef

$(call dep1,test)
$(call dep2,test)

.DEFAULT_TARGET: all
.PHONY: all
all:
    @echo $@

GNU make 3,81 et 3.82 produire Makefile:10: *** missing separator. Stop. qui pointe vers le dep2 appel, dep1 est exécuté sans erreur. La seule différence entre les deux variantes est les retours à la ligne dans dep2 (et le point pourquoi j'aimerais à définir).

source d'informationauteur g.b.