mam zmienną powiedzmy x = obr/TPMłupania zmienna w pliku make
w makefile chcę, aby móc podzielić x na połówki.
w bash to byłoby coś jak $ {x%/} i $ {x # /}
ale w jaki sposób mogę to zrobić w makefile?
z góry dzięki.
mam zmienną powiedzmy x = obr/TPMłupania zmienna w pliku make
w makefile chcę, aby móc podzielić x na połówki.
w bash to byłoby coś jak $ {x%/} i $ {x # /}
ale w jaki sposób mogę to zrobić w makefile?
z góry dzięki.
Jeśli jest to nazwa ścieżki (lub nawet, jeśli nie jest, a separator zawsze jest /
), można użyć funkcji dir
i notdir
.
half1 = $(dir $(x))
half2 = $(notdir $(x))
Dla bardziej ogólne rozwiązanie (np jeśli istnieją więcej niż dwie części, lub jeśli separator nie zawsze jest „/”), można użyć tego podejścia:
y = $(subst /, ,$(x))
half1 = $(word 1, $(y))
half2 = $(word 2, $(y))
to nie będzie działa zgodnie z przeznaczeniem, jeśli 'x' zawiera spacje. –
@AlexReece, prawda, to nie * to * ogólne. Następnym krokiem byłoby wołanie "sed". – Beta
Jeśli separator jest spacją, myślę, że działa, jeśli zadeklarujesz zmienną zawierającą spację, a następnie użyjesz tej zmiennej w 'subst'. – sclarke81