我正在學習如何編寫makefile並遇到問題。 我有一個用於java應用程序的makefile,但每次執行目標jar時,即使自上次調用以來沒有任何更改,整個代碼也會重新編譯。我經常讀到,如果目標的依賴關係(例如'jar')發生了變化,但是這裏不是這種情況,那麼只有重新編譯纔是有利的。什麼可以解決問題?用於java的makefile,僅在文件更改時重新編譯
FOLDER=some/path
jar: A.class B.class
jar cf output.jar $(FOLDER)/bin/a/A.class $(FOLDER)/bin/b/B.class
A.class:
javac $(FOLDER)/a/A.java -d $(FOLDER)/bin -implicit:none
B.class:
javac $(FOLDER)/b/B.java -d $(FOLDER)/bin -implicit:none-implicit:none
哎呀,使用一個構建系統,該系統是*爲Java設計*! (Gradle,Maven,甚至是Ant)。 – 2014-12-02 22:41:45
output.jar做了什麼,我希望它不寫給A.java。 – 2014-12-02 22:44:44