在不使用 IDE 的環境開發,如果不使用 makefile 來簡化編譯加執行的流程的話
真的很麻煩啊!!!
這篇會隨著 project 做大來更新
Case1 :
假設資料夾要編譯的檔有四個: Game.java Main.java Character.java Sword.java
CC:=javac RUN:=java obj:=Game.java Main.java Character.java Sword.java main:=Main divider_compile:= ----------COMPILE COMPLETE---------- divider_over:= --------------COMPLETE-------------- all: $(obj) $(CC) $(obj) # $(info $(divider)) @echo $(divider_compile) $(RUN) $(main) @echo $(divider_over)
notes:
- := 是指定變數,目前還不清楚跟 = 的差別
- 其實主體只有這三行而已
all: $(obj) $(CC) $(obj) $(RUN) $(main)
翻譯過來就是 javac 編譯當前路徑下所有的 java 檔
(在此我是手動列出有幾個 java 檔,用通配字元的方式表示還搞不定QQ)
- 用 $ 字號加小括號匡起來的內容,表示是變數,e.g. $(obj),就是指這行所定義的 obj 變數
obj:=Game.java Main.java Character.java Sword.java
- 因為我想要在終端機的輸出不要那麼雜亂,所以就加了分隔線,來區隔哪邊是 makefile 的輸出、哪邊是本身程式的輸出
@echo $(divider_compile)
ps. 在 echo 前面加的 @ 符號,現在也還沒搞清楚是怎樣,不過就是能讓輸出美一點XD
- 要最美的輸出的話,可以用 make –silent,保證水噹噹,把 makefile 的輸出隱藏得好好的
ps. 在 wordpress 架構之下要做文章排版真的好麻煩啊~~~~~