Java make[1]:输入目录错误消息

Java make[1]:输入目录错误消息,java,makefile,Java,Makefile,我有一个简单的Makefile: default: @make build @make run build: @javac Test.java > /dev/null run: @java Test 在编译过程中,输出: make[1]: Entering directory `<current directory'> ... make[1]: Leaving directory `<current directory'> 将

我有一个简单的Makefile:

default:
    @make build
    @make run

build:
    @javac Test.java > /dev/null

run:
    @java Test
在编译过程中,输出:

make[1]: Entering directory `<current directory'>
...
make[1]: Leaving directory `<current directory'>

make
更改为
make-s

default:
    @make -s build
    @make -s run
更好的是:

default:
    @$(MAKE) -s build
    @$(MAKE) -s run
更好的是:

default: run

build:
    @javac Test.java > /dev/null

run: build
    @java Test

make-s
抑制其他makefile消息,这对开发人员可能很重要。如果要禁止“输入/离开目录消息”,请仅使用运行
make


make--无打印目录

您的代码是什么?我们猜不出…为什么要用make编译Java?(我猜是“因为老师这么说的”)@Neal抱歉,编辑成包含代码片段。我们使用make是因为语言的选择取决于我们。讲师只需要一种统一的方式来调用我们所有不同的程序。这不是一个有效的生成文件。无论如何,将makefile简化为最简单的复制行为的文件,但请不要发布片段。如果您向我们展示整个makefile,我们可以告诉您将
@
-s
@Beta放在何处,并对其进行编辑以包含有效的makefile。我注意到,如果我没有嵌套目标(即只是在没有单独目标的默认情况下编译和运行),它就不会输出这些消息。然而,我想保留单独的目标。有什么想法吗?甚至更好。在构建和运行目标中添加.虚假标记。请解释一下“更好”的解决方案好吗?(什么意思是
@$(MAKE)
?)@Yukulélé:包含调用MAKE的可执行文件的名称,它在makefile配方中得到一些特殊处理。
@
>这只适用于GNU Make。
default: run

build:
    @javac Test.java > /dev/null

run: build
    @java Test