Makefile 和 shell中的环境变量使用

Makefile中可以通过$(var) 或者${var}的方式使用变量,详细的讲述大家可以参考:

http://blog.csdn.net/lovetangtang/archive/2005/12/31/567297.aspx

 

之前我一直以为这两是一样的,没啥区别,直到我遇到了问题。因项目需求,需要移植lighttpd到ARM平台,过程中需要设置toolchain的位置, 如下:

APP=lighttpd
VER=1.4.26
TARGET=${APP}-${VER}
SRC=${PROJ_ROOT}/src
USERLAND=${SRC}/sysapps/userland

cd ${TARGET}
CC=${SOURCETOOLCHAIN}gcc /
AR=${SOURCETOOLCHAIN}ar /
LD=${SOURCETOOLCHAIN}ld /
STRIP=${SOURCETOOLCHAIN}strip /
RANLIB=${SOURCETOOLCHAIN}ranlib /
NM=${SOURCETOOLCHAIN}nm /
CC_FOR_BUILD=gcc /

 

在这里我用小括号死活不玩,后来才发现shell里要用大括号,小括号则把SOURCETOOLCHAIN当成一个命令来执行了。

 

你可能感兴趣的:(shell,gcc,lighttpd,Build,平台,makefile)