파일 내용으로 Makefile 변수를 설정하는 방법

파일 내용으로 Makefile 변수를 설정하는 방법

해당 변수가 이전에 설정되지 않았고 파일이 존재하는 경우 Makefile 변수의 변수를 설정하려고 합니다. 그러나 해당 변수를 덮어쓰는 데 문제가 있습니다. 어떤 아이디어가 있나요?

GITHUB_TOKEN = ""

build:
    if [ -z "$(GITHUB_TOKEN)" ] && [ -f ~/.config/github.token ]; then echo "Overriding github"; $(eval GITHUB_TOKEN="$(cat ~/.config/github.token)") fi
    DOCKER_REGISTRY="$(DOCKER_REGISTRY)" DOCKER_TAG="$(RELEASE_TAG)" \
    docker-compose -p $(PRO_NAME) \
        -f docker/base.compose \
        -f docker/build.compose \
        build \
        --build-arg GITHUB_TOKEN="$(GITHUB_TOKEN)"
        --parallel --force-rm

이 경우에는 유지하겠습니다.--build-arg GITHUB_TOKEN=""""

답변1

나는 사용했다GITHUB_TOKEN ?= $(shell cat ~/.config/github.token)

관련 정보