私のmakefileでは、コマンドラインの変数値に基づいて変数を代入する必要があります。例えば、私が行いますmakefile:変数内の単語の位置を見つける
var_1
が言う100個の値のいずれかを持つことができます
make var_1=xxx
。 var_1
という値に基づいて、私はメイクファイルにvar_2
の値を割り当てる必要があります。私は何ができる:
ifeq ($(var_1), a)
var_2 = A
endif
ifeq ($(var_1), b)
var_2 = B
endif
などvar_1
、var_2
のすべての100個の可能な組み合わせのために。ここでa
,A
,b
,B
はいくつかの文字列を表します。 if
の100文を避けるにはどうすればよいですか?私は2つの変数を定義するために考えていた:
var_1_values = a b c d
var_2_values = A B C D
私は$(var_1)
が$(var_1_values)
の中にあるかどうかを確認するために$(findstring $(var_1),$(var_1_values))
を使用することができますが、どのように私はすべての$(var_1_values)
間$(var_1)
の位置を特定できますか?その位置は、$(var_2_values)
の対応する単語を選択するために使用されます。
いやはやです!私は行かなかった。私の完全に間違った方向の答えを削除しました。申し訳ありません。 – RishiG
クール、あなたが解決策を持ってうれしい – RishiG