makefile: encuentra una posición de palabra en una variable
En mi archivo MAKE, necesito hacer una asignación variable basada en un valor variable de línea de comando. por ejemplo, yo hago:
make var_1=xxx
dóndevar_1
puede tener uno de digamos 100 valores posibles. Basado en el valor devar_1
, Necesito asignar un valor avar_2
en mi archivo MAKE. Yo podría hacer
ifeq ($(var_1), a)
var_2 = A
endif
ifeq ($(var_1), b)
var_2 = B
endif
y así sucesivamente para las 100 combinaciones posibles devar_1
, var_2
. Aquía
,A
,b
,B
representan algunas cadenas. ¿Cómo hago esto para evitar 100 deif
declaraciones? Estaba pensando en definir dos variables:
var_1_values = a b c d
var_2_values = A B C D
Puedo usar$(findstring $(var_1),$(var_1_values))
para ver si$(var_1)
está entre$(var_1_values)
, pero ¿cómo ubico la posición de$(var_1)
entre todos$(var_1_values)
? Esa posición se utilizará para elegir la palabra correspondiente dentro de$(var_2_values)
.