使用:
make -f Makefile.custom CFLAGS="-DFLAG_ONE -DFLAG_TWO" clean target
什么行不通是
FLAGS="-DFLAG_ONE -DFLAG_TWO"
make -f Makefile.custom CFLAGS=$FLAGS clean target
错误: 它开始认为-D是制造和失败的论据。
尝试: 使用转义字符
FLAGS="\"-DFLAG_ONE -DFLAG_TWO\""
任何帮助将不胜感激。
- UPDATE -
这是一种解决方法,但问题仍然存在。
CFLAGS="-DFLAG_ONE -DFLAG_TWO"
export CFLAGS
make -f Makefile.custom clean target
答案 0 :(得分:1)
CFLAGS="-DFLAG_ONE -DFLAG_TWO" make -f Makefile.custom clean target
简单的Makefile:
all:
echo ${CFLAGS}
...将打印:
-DFLAG_ONE -DFLAG_TWO
......因此它确实有用。
答案 1 :(得分:1)
报价是必要的:
FLAGS="-DFLAG_ONE -DFLAG_TWO"
make -f Makefile.custom CFLAGS="$FLAGS" clean target