将gnu makefile值转换为变量,但前提是该变量尚未包含该值

时间:2019-01-14 15:05:42

标签: linux makefile gnu

因此,基于某些条件,我想附加到变量中,说:

LIST += BOB

但是我可能想要添加BOB的地方可能不止一个,所以让我们看下面的代码片段:

LIST += BOB
LIST += FRED
LIST += TED
LIST += BOB

我想最后得到包含BOB FRED TED的LIST,所以我不想重复的其他BOB。我也想保留顺序(否则我认为我可以使用sort)。

有一个聪明的方法吗? -我想我可以先在变量中搜索文本,但这似乎很麻烦。那么,是否有一个“如果不存在就添加”类型的函数?

1 个答案:

答案 0 :(得分:1)

如果仅将prepend_before_filter(only: [:create, :destroy]) { request.env["devise.skip_timeout"] = true } 展开(LIST),则可以LIST :=

LIST += $(filter-out $(LIST),BOB)

注意:如果变量声明为简单扩展,则除非更改,例如,否则将保持不变。与$ cat Makefile LIST := LIST += $(filter-out $(LIST),BOB) LIST += $(filter-out $(LIST),FRED) LIST += $(filter-out $(LIST),TED) LIST += $(filter-out $(LIST),BOB) all: $(info $(LIST)) $ make BOB FRED TED make: 'all' is up to date.