2012-02-17 10 views
5

内の変数はMakefileの のx = TPM/TPM分割は、私は、変数を持っているメイクファイル

iが半分にxを分割することができるようにしたいと言うことができます。 bashで

これは

{#/X} $ {X%/ }と$ようなものになるだろうが、私はメイクファイルでそれをどのように行うのですか?

ありがとうございます。

答えて

4

パス名の場合(またはセパレータが常に/の場合でも)、dirnotdirの関数を使用できます。より一般的なソリューションについては

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

(例えば以上の2つの部分が存在する場合、またはセパレータは常に「/」ではない場合)あなたは、このアプローチを使用することができます。

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

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

これはしません'x'に空白が含まれていると意図どおりに動作します。 –

+0

@AlexReece、それは一般的ではありません。次のステップは 'sed'の呼び出しです。 – Beta

+0

セパレータが空白の場合は、空白を含む変数を宣言してその変数を 'subst'で使用すると動作すると思います。 – sclarke81

関連する問題