Можно ли распечатать переменные и, соответственно, изменить их в Makefile? - PullRequest
1 голос
/ 27 мая 2020

У меня есть следующий Makefile:

all: print1 print2 

world=world1
print1:
    @echo $(world)

world=world2
print2:
    @echo $(world)

.PHONY: all print1 print2

При работе с make я ожидал получить:

world1
world2

Но я получил:

world2
world2

Можно ли получить ожидаемый результат только с переменной world?

1 Ответ

2 голосов
/ 27 мая 2020

Указанные цели c значения переменных для этого были созданы.

print1: world=world1
print1:
    @echo $(world)

print2: world=world2
print2:
    @echo $(world)

И если рецепты идентичны, вы можете комбинировать правила:

print1: world=world1
print2: world=world2

print1 print2:
    @echo $(world)
...