为jar可执行文件创建一个Makefile

时间:2014-09-09 01:43:26

标签: java command-line jar makefile

我目前正在使用以下Makefile:

    JAVAC=javac
    sources = $(wildcard *.java)
    classes = $(sources:.java=.class)

    all: myProgram

    myProgram: $(classes)

    clean :
        rm -f *.class

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

myProgram只是一个.java文件,但我用.jar可执行文件替换它。我基本上只是希望能够做一些简单的事情:

    make myProgram

如何修改Makefile来完成此操作?感谢您的任何意见/建议。

2 个答案:

答案 0 :(得分:1)

只需添加一个新目标(例如“jar”),并为其提供相应的“jar”命令

实施例

JAVAC=javac
sources = $(wildcard *.java)
classes = $(sources:.java=.class)

all: myProgram

myProgram: $(classes)

clean :
    rm -f *.class

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

jar: $(classes)
    jar cvf myjarfile.jar $(classes) 

您可以通过多种方式“调整”此示例。例如,您可能想要参数化“jar”命令(例如JAR=jar),您可能想要创建一个清单(也许让makefile本身使用适当的“echo”命令即时创建清单)等等。

以下是“jar”的Oracle文档:

http://docs.oracle.com/javase/tutorial/deployment/jar/build.html

答案 1 :(得分:0)

上面的代码对我来说不起作用,我使用清单文件进行了一些更改:

%%timeit
s.replace(0, np.nan).dropna().astype(s.dtype)

## -- End pasted text --
1000 loops, best of 3: 295 µs per loop