【发布时间】:2012-04-15 13:55:07
【问题描述】:
我有一个简单的 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'>
我需要在不打印这些消息的情况下进行构建。有谁知道问题出在哪里或如何抑制这些消息?
谢谢
编辑:无论代码如何,都会发生这种情况。例如它发生在:
class Test {
public static void main(String[] args) {
System.out.println("HELLO WORLD");
}
}
【问题讨论】:
-
你的代码是什么?我们无法猜测......
-
为什么要用make编译Java? (不过,我猜“因为教练是这么说的”。)
-
@Neal 抱歉,已编辑以包含代码 sn-p。和 Inerdial,我们使用 make,因为语言的选择取决于我们。教师只需要一种统一的方式来调用我们所有不同的程序。
-
那不是一个有效的 makefile。尽一切办法将生成文件减少到最简单的重现行为的文件,但请不要发布片段。如果您向我们展示整个 makefile,我们可以告诉您将
@和-s放在哪里。 -
@Beta 已编辑以包含有效的 Makefile。我注意到,如果我不嵌套目标(即在没有单独目标的情况下默认编译和运行),它不会输出这些消息。但是,我想保留单独的目标。有什么想法吗?