bash
, вероятно, не имеет прямого доступа к соответствующему системному вызову inet_pton(3)
, так что вам, вероятно, придется вызывать что-то подобное, например, sipcalc
(который должен быть в порте или дереве пакетов для различных unix). Языки более высокого уровня, вероятно, также могут получить вызов inet_pton(3)
или эквивалентный, но детали будут зависеть от языка, например, я использовал NetAddr::IP
для кода, связанного с подсетями в Perl.
Вам нужно :=
вместо рекурсивного=
:
FOO := hello
FOO := $(FOO)_world
$(info FOO=$(FOO))
привет _мир
Я бы сказал, что функция makefileaddsuffix
— это то, что вам нужно, например, в вашем случае:
FOO := hello
FOO := $(addsuffix _world,$(FOO))
Тем не менее, @user218374 тоже был прав, и его решение тоже работает в этом случае, но я почти уверен, что вы были бы рады взглянуть на эти встроенные -функции расширения, относящиеся также к спискам имен файлов!