作業的目標是寫一個 makefile,滿足下列的條件:
1. 利用 CL.EXE,將*.c和*.cpp 編譯為 *.obj;然後利用 copy 指令,將所有的 *.obj 組合成 result.lib。(理論上是要用 LIB.EXE 這個程式,但此次作業以copy 來取代。)
2. 若是.h 被修改的話,*.cpp 要重新編譯。
3. 想辦法將 source list 和主 makefile 分開,若是要加入新的 source file 的話,不需要動到主 makefile。
4. 只有重新編譯的 .obj 檔要重新加入 result.lib 中。若 .obj 檔沒更新,就不要再加入了。
就要開始寫作業了 我必須說其實很多我都看不懂哈哈。
至於關於寫makefile的部分,
很抱歉我是從一個全白的txt檔寫成.mak檔的,
在此就附上認真的過程吧
而編譯的過程幾乎是每一步都會遇到問題
這時候Google就是你另一個好朋友
全世界的新手程式設計都是你的代言人……
你碰到的問題他們總是有人比你早碰到過,
只要判斷情勢是否一致,
跟著高手回答的做就可以了XD
最後產生的結果就像下圖所示,
在cmd你放makefile.mak的資料夾下利用nmake \f makefile.mak 就可以執行它了,
以我們的作業為例,
最終我將*.c跟*.cpp都編譯成了*.obj,
也將*.obj們link成了成了result.lib
當然另外兩點也都有符合,
這邊就不方便秀程式碼
反正文章也是寫給自己看好玩的,
如果有人真的找到這篇文章有任何疑問就私信密我吧
我會就我所知的回答你的,
以上~