今天在编译的时候碰到一个问题
makefile文件中假如我要判断一个变量SUB_SRC_DIR是否存在可以
ifdef SUB_SRC_DIR
但是如果SUB_SRC_DIR是一个路径 会报错SUB_SRC_DIR的值是一个directory
为了避免这种情况可以这样定义SUB_SRC_DIR
SUB_SRC_DIR_PRE = ../../../External/xmlsrc
SUB_SRC_DIR = $(SUB_SRC_DIR_PRE)
ifdef只是测试一个变量是否有值,其并不会把变量扩展到当前位置。
示例一: bar = foo = $(bar) ifdef foo frobozz = yes else frobozz = no endif 示例二: foo = ifdef foo frobozz = yes else frobozz = no endif 第一个例子中,“$(frobozz)”值是“yes”,第二个则是“no”。