如何判断变量中是否已经定义了一个标志?

时间:2015-07-03 03:31:57

标签: linux bash makefile

我有一个makefile我希望有条件地包含特定的src文件。 makefile看起来像是:

###############################################
# Load default top-level config
include $(WORKROOT)/build/linux/config.mk

ifndef START_TIME
  export START_TIME:="$(shell date +%s)"
endif

#include $(MAK_DIR)/source.inc
include $(WORKROOT)/build/linux/source.inc  

config.mk中就像:

export FLAGS = \
-DFLAGA \
-DFLAGB

source.inc我想:

#IF FLAGA is defined in FLAGS in config.mk THEN:
my-objs += \
$(WORKROOT)/My_DIR/specific_src.cpp
#ENDIF

我该怎么做?

1 个答案:

答案 0 :(得分:2)

如果您要在-DFLAGA变量中查找文字字符串FLAGS,则可以使用$(filter) function

ifneq (,$(filter -DFLAGA,$(FLAGS)))
my-objs += \
$(WORKROOT)/My_DIR/specific_src.cpp
endif