Как обрезать строку в makefile?

#makefile

#makefile

Вопрос:

У меня есть эта строка cccccc:dddddd

Я хочу получить cccccc только

Я просмотрел документы makefile, но все еще не понимаю, как это сделать с помощью функций make

Это не работает, но я хочу сделать что-то вроде сопоставления от : до конца строки и обрезать все это

 MY_VAR:=cccccc:dddddd
....
derp:
    echo $(subst :.*,"",$(MY_VAR))
  

:dddddd не является статическим, поэтому я не могу просто жестко закодировать это в виде $(subst :dddddd,"",$(MY_VAR))

Ответ №1:

Вы можете попробовать что-то вроде:

 MY_VAR := $(firstword $(subst :, ,$(MY_VAR))
  

Обратите внимание, что для этого требуется, чтобы «cccccc» не содержал пробелов.

Комментарии:

1. очень умный не знал, что firstword — это такая штука! да, это работает

2. @red888 В руководство: 8.2 Функции для подстановки и анализа строк