java makefile自动编译

有时候我们编写少量文件的java测试代码,一个一个的用命令行进行编译比较麻烦,且一段时间之后可能就忘记了哪个才是main函数所在的类。因此可以编写一个makefile文件自动编译,格式如下:

target:
        @javac ./Beverage.java
        @javac ./CondimentDecorator.java
        @javac ./Mocha.java
        @javac ./Whip.java
        @javac ./Soy.java
        @javac ./Espresso.java
        @javac ./StarbuzzCoffee.java

        @java StarbuzzCoffee
        @rm *.class

 在命令行输入:

make

 则会有结果输出。

说明:

target是系统默认的make目标。即命令行输入的make等同于make target。我们还可以如下编写:

target:
        @javac ./Beverage.java
        @javac ./CondimentDecorator.java
        @javac ./Mocha.java
        @javac ./Whip.java
        @javac ./Soy.java
        @javac ./Espresso.java
        @javac ./StarbuzzCoffee.java

        
run:
        @java StarbuzzCoffee
        
clean:
        @rm *.class

 这样我们输入make只会执行target下的内容,

输入make run执行run下的内容,输入make clean执行clean下的内容。

@符号隐藏命令行输出。