Chcę ustawić zmienną, jeśli jest pusta. Próbowałem w ten sposób:Plik Makefile, jeśli zmienna jest pusta
....
TEST := $(something)
...
TEST ?= $(something else)
Pierwszy $(something)
może powrócić pusty ciąg, jednak cesja warunkowa = działa tylko wtedy, gdy poprzedni zmienna nie jest ustawiona, jeśli nie jest pusta?.
Dowolne eleganckie rozwiązanie do ustawienia zmiennej, jeśli jest puste?
EDIT Znalazłem rozwiązanie:
....
TEST := $(something)
...
TEST += $(something else)
TEST := $(word 1, $(TEST))
ale myślę, że będzie jeszcze jeden elegancki.
Wiele programów 'make' ma warunki, a także funkcje do testowania zmiennych. Dla GNU Make [przeczytaj dokumentację] (https://www.gnu.org/software/make/manual/make.html). –
W zależności od tego, czym jest "coś", możesz użyć 'ifeq (, $ (TEST)) lub jeśli' coś' jest poleceniem powłoki prawdopodobnie 'coś || coś jeszcze ". – tripleee
To może być [problem XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem), proszę nie używać spreparowanych przykładów. – user657267