makefile: найти позицию слова в переменной
В моем make-файле мне нужно сделать присвоение переменной на основе значения переменной командной строки. например, я делаю:
make var_1=xxx
гдеvar_1
может иметь одно из, скажем, 100 возможных значений. На основании стоимостиvar_1
Мне нужно присвоить значениеvar_2
в моем make-файле. Я мог бы сделать:
ifeq ($(var_1), a)
var_2 = A
endif
ifeq ($(var_1), b)
var_2 = B
endif
и так далее для всех 100 возможных комбинацийvar_1
, var_2
, Вотa
,A
,b
,B
представляют некоторые строки. Как мне это сделать, чтобы избежать сотенif
заявления? Я думал определить две переменные:
var_1_values = a b c d
var_2_values = A B C D
я могу использовать$(findstring $(var_1),$(var_1_values))
увидеть, если$(var_1)
среди$(var_1_values)
, но как мне найти положение$(var_1)
среди всех$(var_1_values)
? Эта позиция будет использоваться для выбора соответствующего слова внутри$(var_2_values)
.