Makefile在目录中编译java

时间:2017-05-13 20:32:44

标签: java linux makefile compilation

我想创建makefile,它将编译特定目录中的java文件。这就是我所拥有的:

JCC = javac
JCR = java
JFLAGS =
    -source 1.6 \
    -target 1.6 \
    -d out

main: folder all

all:
    $(JCC) $(JFLAGS) src/com/company/*.java

folder:
    mkdir out

但是,一旦我在主目录中使用 make 命令,它就会显示:

  

make:***缺少对象。停止。

有人可以指出我做错了什么吗? 在此先感谢您的帮助。

- UPDATE-- 我试过这样做:

main:
    mkdir out
    javac -source 1.6 -target 1.6 src/com/company/*.java -d out

但仍然:

  

"没有规定制作目标' mkdir',主要需要'。停止"

--- ---解 不要在gedit中写makefile。它制作错误的制表符。使用nano或者其他。

1 个答案:

答案 0 :(得分:0)

我不擅长编写makefile,但我最近使用过这样的东西,也许它足以让你根据自己的需要进行修改,首先编译代码然后将它打包到jar:

all:
  mkdir out
  javac -source 1.6 -target 1.6 src/main/java/com/my/package/*.java -d out
  jar cfm My.jar META-INF/MANIFEST.MF out/com/my/package/*.class