0

作品:

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 是 make 的参数,但失败了。

尝试:使用转义字符

FLAGS="\"-DFLAG_ONE -DFLAG_TWO\""

任何帮助,将不胜感激。

- 更新 -

这是一种解决方法,但问题仍然悬而未决。

CFLAGS="-DFLAG_ONE -DFLAG_TWO"
export CFLAGS
make -f Makefile.custom clean target
4

2 回答 2

1

引用是必要的:

FLAGS="-DFLAG_ONE -DFLAG_TWO"
make -f Makefile.custom CFLAGS="$FLAGS" clean target
于 2012-11-22T15:27:20.793 回答
1
CFLAGS="-DFLAG_ONE -DFLAG_TWO" make -f Makefile.custom clean target

和简单的Makefile:

all:
        echo ${CFLAGS}

...将打印:

-DFLAG_ONE -DFLAG_TWO

...因此它确实有效。

于 2012-11-22T14:08:00.687 回答