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

2022-09-01 17:57:43

我有一个简单的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");
    }
}

答案 1

make -s禁止显示其他生成文件消息,这些消息对开发人员可能很重要。如果要禁止显示“进入/离开目录消息”,请仅使用make

make --no-print-directory


答案 2

更改为 :makemake -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

推荐