Makefile 生成错误:生成文件的第一行缺少分隔符

Makefile 生成错误:生成文件的第一行缺少分隔符,makefile,Makefile,尝试运行make时,我遇到以下错误: Makefile:1: *** missing separator. Stop. 看起来我需要在第一行使用tab。 然而,我的Makefile的前3行是这样的 [ -z "${PROJ_DIR}" ] && PROJ_DIR=/home/my_directory [ -z "${BASE_DIR}" ] && BASE_DIR=/home/my_directory [ -z "${TOOLCHAIN}" ] &&a

尝试运行make时,我遇到以下错误:

Makefile:1: *** missing separator.  Stop.
看起来我需要在第一行使用tab。 然而,我的Makefile的前3行是这样的

[ -z "${PROJ_DIR}" ] && PROJ_DIR=/home/my_directory
[ -z "${BASE_DIR}" ] && BASE_DIR=/home/my_directory
[ -z "${TOOLCHAIN}" ] && TOOLCHAIN=${BASE_DIR}/mips-4.3
没有任何空间修改的地方。 我对可能出现的错误一无所知。

这还不太清楚


你想用你的Makefile实现什么?这是一个shell脚本,不是Makefile。我想给用户一个设置环境变量的选项,否则就使用默认值。你不能在Makefile中使用脚本吗?谢谢,这似乎可以解释它,但我以前使用过上面编写的代码(我的代码)的Makefile。知道为什么吗?可能是因为你在一个生产环节使用它。
PROJ_DIR ?= /home/my_directory
BASE_DIR ?= /home/my_directory
TOOLCHAIN ?= $(BASE_DIR)/mips-4.3