我使用的是 M1 驱动的 Mac。我试图在项目中使用 makefile,但令我惊讶的是,无论我做什么,它最终都会出现缺少分隔符的错误。无论如何,下面的 Makefile 都无法运行。我使用了 textedit、vscode 和 IntelliJ。结果相同。我甚至在网上挑选了一个教程,复制粘贴了它们的 makefile 内容(hello 示例)https://tutorialedge.net/golang/makefiles-for-go-developers/希望我是那个不熟悉语法的人。
hello:
echo "Something"
#build:
#. go build -o bin/apigateway
#run: build
#. ./bin/apigateway
#test:
#. go test -v ./..
我检查了版本,以下是回复
make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for i386-apple-darwin11.3.0
我其实真的很困惑。我可能错过了什么?
答案1
makefile 的基本语法是:
target: dependency
<tab>command
必须是制表符,而不是四个空格或类似的字符。有些编辑器可能会将制表符转换为空格。这些编辑器对于创建 Makefile 毫无用处。也可能是剪切粘贴确实放入了空格。
尝试:
cat > Makefile
hello:
<tab>echo something
<control-D>
make hello