Makefile - 如果命令未产生所需的输出,则使用其他值

问题描述 投票:0回答:1

因此,在我的 Makefile 中我导出一个变量:

生成文件

export my_var = $(shell my_command)

test:
  command $(my_var)

但是,我的问题是有些有

my_command
并且其中一些没有获得所需的输出(因为权限),而其他人根本没有它,这是期望的。 所以,我想要的是如果不需要
my_var
的话能够有一个条件来设置一个值,例如:

export my_var = $(shell my_command)
ifdef my_var != DESIRED_VALUE
  my_var = "desired value1"
else
  my_var = "desired value2"
endif

...
makefile
1个回答
0
投票

你不需要

ifdef
,这是为了 if 某些东西是 defined。如果您想要
ifeq
ifneq
(记录在我在评论中链接到的手册中),这是为了测试两个值是否相等(或不相等)。所以你可以这样做:

my_var = $(shell echo unexpected value) ifneq ($(my_var), desired value 1) my_var = "desired value 2" endif test: echo $(my_var)
    
© www.soinside.com 2019 - 2024. All rights reserved.