makefile中的错误***缺少分隔符。停止

时间:2014-06-10 04:49:21

标签: linux makefile

代码段如下:

   $(shell javac $(MY_PATH)/test/TestFile.java)    

   $(shell java -cp $(MY_PATH)/test/ TestFile)

开头没有空格或标签。我得到的错误是 * 缺少分隔符。停止。

错误仅在第二行出现,而不在第一行。

基本上我的TestFile不在java路径中 我在这里尝试了所有的解决方案,但没有人帮助我。我猜这个错误与我提供的目录路径有关。相同的代码段在Windows中使用cmd提示符,但在linux机器中不能使用。无法确定问题所在。请帮助。感谢。

1 个答案:

答案 0 :(得分:1)

这就是makefile应该如何使用:

.PHONY: run

JAVAC:=javac
JAVA:=java
TARGET:=TestFile
SOURCES:=TestFile.java
OBJS:=$(patsubst %.java, %.class, $(SOURCES))

$(TARGET): $(OBJS)

%.class: %.java
    $(JAVAC) $^

run: $(TARGET)
    $(JAVA) $(TARGET)

make run将编译并运行。 make只会编译。当然,所有这些都可以设置为一个目标,但最好不要这样做。

相关问题