写makefile的时候,有一些场景需要根据某些条件来设置变量的值,但是在aix如果使用ifeq就扑街了,直接报
make: Dependency line needs colon or double colon operator.
原因好像是aix的make不是gnumake
于是需要采用替代的写法,可以使用awk来达到条件判断的目的。
ifeq (1,${OLC_WITH_FOUNDATION_FLAG})
NG_LOG_DEF:=-DOMC_LOG
endif
可以替换成:
NG_LOG_DEF = `awk 'BEGIN{if (index("$(OLC_WITH_FOUNDATION_FLAG)" , "1") > 0 ) printf "-DOMC_LOG"}'`
这种写法用途一样,在各个平台上也都能用