Ich möchte eine Variable setzen, wenn sie leer ist. Ich habe versucht, auf diese Weise:Makefile gesetzt, wenn die Variable leer ist
....
TEST := $(something)
...
TEST ?= $(something else)
Die erste $(something)
kann eine leere Zeichenfolge zurückgeben, aber die bedingte Zuweisung = funktioniert nur, wenn die vorherige Variable nicht gesetzt ist, nicht, wenn leer?.
Jede elegante Lösung, um die Variable zu setzen, wenn sie leer ist?
EDIT fand ich diese Lösung:
....
TEST := $(something)
...
TEST += $(something else)
TEST := $(word 1, $(TEST))
aber ich denke, dass es eine elegantere sein wird.
Viele 'make'-Programme haben Bedingungen und funktionieren auch zum Testen von Variablen. Für GNU Make [bitte lesen Sie die Dokumentation] (https://www.gnu.org/software/make/manual/make.html). –
Je nachdem, was "etwas" ist, können Sie 'ifeq (, $ (TEST))' oder wenn 'etwas' ein Shell-Befehl ist, vielleicht' etwas || etwas anderes. – tripleee
Dies kann ein [XY-Problem] sein (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem), bitte verwenden Sie keine erfundenen Beispiele. – user657267