After some research I came up with this solution, which is ok for me. It combines the https://stackoverflow.com/a/21189044/6869629 and http://make.mad-scientist.net/constructed-include-files/ approaches and adds content of the YAML files as variables to the Makefile:
This is the YAML config file:
project.yaml
PROJECT_NAME: test-project
ENVIRONMENT: test
and this is the Makefile:
PROJECT_CONFIG_YAML_PATH :=  "../../project.yaml"
PROJECT_CONFIG_VAR_PREFIX := "CONF_"
READ_PROJECT_CONFIG := $(shell prefix=$(PROJECT_CONFIG_VAR_PREFIX) \
                  && lf= $$(echo @|tr @ '\012')\
                  && s='[[:space:]]*' \
                  && w='[a-zA-Z0-9_]*' \
                  && fs=$$(echo @|tr @ '\034') \
                  && sed -ne "s|^\($$s\):|\1|" \
                     -e "s|^\($$s\)\($$w\)$$s:$$s[\"']\(.*\)[\"']$$s\$$|\1$$fs\2$$fs\3|p" \
                     -e "s|^\($$s\)\($$w\)$$s:$$s\(.*\)$$s\$$|\1$$fs\2$$fs\3|p"  $(PROJECT_CONFIG_YAML_PATH) | \
                  awk -F$$fs '{indent = length($$1)/2; \
                     vname[indent] = $$2; \
                     for (i in vname) {if (i > indent) {delete vname[i]}} \
                     if (length($$3) > 0) { \
                            vn=""; for (i=0; i<indent; i++) {vn=(vn)(vname[i])("_")} \
                            printf("%s%s%s=\"%s\"\n", "'$$prefix'",vn, $$2, $$3); \
                        } \
                    }'| tr '\n' '\1')
add-project-config: Makefile
    @echo "$(READ_PROJECT_CONFIG)" | tr '\1' '\n' > $@
print-%:
    @echo "$(READ_PROJECT_CONFIG)" | tr '\1' '\n'
    @echo $*=$($*) 
-include add-project-config
The print-%: target echoes the content of the YAML file, as it will be added to the Makefile and prints the variable, which has been passed as parameter.
$ make print-CONF_PROJECT_NAME results in:
CONF_PROJECT_NAME=test-project
CONF_ENVIRONMENT=test
CONF_PROJECT_NAME=test-project