这是我的Makefile代码段。
1. $(DIR_REL64)/%: $(SHIFT_BINDIR64)/%
2. $(copy_file)
3.ifneq ($(TEST),0)
4.ifneq($(LOG),0)
5. if [ -d $(TGT32)/tools/test/64bit ]; then cp -f $< $(TGT32)/tools/test/64bit; fi
6.else
7. if [ -d $(TGT64)/tools/test/64bit ]; then cp -f $< $(TGT64)/tools/test/64bit; fi
8.endif
9.else
10. if [ -d $(TGT64)/bin ]; then cp -f $< $(TGT64)/bin; fi
11.endif
我遇到错误:
GNUmakefile:4: *** missing separator. Stop.
我的makefile规则有什么问题吗?请帮助
规则中的每一行都必须用制表符缩进(没有空格)。您的缩进似乎很复杂(尽管我无法从粘贴的代码中看出100%)。
此外,您应尽量避免在可能的地方混用make和bash语法。例如,您可以做。
[某些行的末尾可能还有一些多余的空格(我不能从这里告诉),但是请确保末尾没有空白。
我将从以下一行开始逐行重写它:
$(DIR_REL64)/%: $(SHIFT_BINDIR64)/%
$(copy_file)
$(copy_file)缩进制表符的位置。确保可以使用,然后添加下一位。