小编iva*_*van的帖子

makefile:在变量中查找单词的位置

在我的makefile中,我需要根据命令行变量值进行变量赋值.例如,我这样做:

make var_1=xxx
Run Code Online (Sandbox Code Playgroud)

哪里var_1可以有100个可能值之一.基于值var_1,我需要var_2在我的makefile中分配一个值.我可以:

ifeq ($(var_1), a)
   var_2 = A
endif
ifeq ($(var_1), b)
   var_2 = B
endif
Run Code Online (Sandbox Code Playgroud)

等了所有100个可能的组合var_1,var_2.在这里a,A,b,B代表一些字符串.我该怎么做才能避免100的if陈述?我在考虑定义两个变量:

var_1_values = a b c d     
var_2_values = A B C D
Run Code Online (Sandbox Code Playgroud)

我可以用$(findstring $(var_1),$(var_1_values)),看看是否$(var_1)是中$(var_1_values),但我怎么找到的位置$(var_1)在所有$(var_1_values)?然后该位置用于选择内部的相应单词$(var_2_values).

makefile

4
推荐指数
3
解决办法
1297
查看次数

标签 统计

makefile ×1