2012-02-17 34 views
5

一個變量我有一個變量可以說 X = TPM/TPM分裂在make文件

在makefile我希望能夠爲x拆分兩半。

在bash這將是類似$ {X%/ }和$ {X# /}

,但我怎麼做它在生成文件?

在此先感謝。

回答

4

如果這是一個路徑名(即使它不是,分隔符總是/),您可以使用dirnotdir函數。

half1 = $(dir $(x)) 
half2 = $(notdir $(x)) 
12

對於一個更通用的解決方案(例如,如果有兩個以上的部分,或者如果分離不總是「/」),可以使用這種方法:

y = $(subst /, ,$(x)) 

half1 = $(word 1, $(y)) 
half2 = $(word 2, $(y)) 
+1

這不會如果'x'包含空格,則按預期工作。 – 2012-02-17 18:57:37

+0

@AlexReece,真的,它不是*那*一般。下一步將是對'sed'的調用。 – Beta 2012-02-17 19:10:07

+0

如果分隔符是一個空格,那麼我認爲它可以工作,如果你聲明一個包含空格的變量,然後在'subst'中使用該變量。 – sclarke81 2015-12-23 13:45:05