?
背景:
- 會不會寫makefile,從一個側(cè)面說明了一個人是否具備完成大型工程的能力
- 一個工程中的源文件不計(jì)數(shù),其按類型、功能、模塊分別放在若干個目錄中,makefile定義了一系列的 規(guī)則來指定,哪些文件需要先編譯,哪些文件需要后編譯,哪些文件需要重新編譯,甚至于進(jìn)行更復(fù)雜 的功能操作
- makefile帶來的好處就是——“自動化編譯”,一旦寫好,只需要一個make命令,整個工程完全自動編 譯,極大的提高了軟件開發(fā)的效率。
- make是一個命令工具,是一個解釋makefile中指令的命令工具,一般來說,大多數(shù)的IDE都有這個命 令,比如:Delphi的make,Visual C++的nmake,Linux下GNU的make??梢姡琺akefile都成為了一 種在工程方面的編譯方法。
- make是一條命令,makefile是一個文件,兩個搭配使用,完成項(xiàng)目自動化構(gòu)建。
使用方法:?
創(chuàng)建makefile文件,使用vim 在makefile文件中進(jìn)行編輯
makefile內(nèi)部輸入的內(nèi)容?
輸入內(nèi)容的解析?
工作原理:
- make會在當(dāng)前目錄下找名字叫“Makefile”或“makefile”的文件。
- 如果找到,它會找文件中的第一個目標(biāo)文件(target),在上面的例子中,他會找到mytest這個文件, 并把這個文件作為最終的目標(biāo)文件,進(jìn)行執(zhí)行。
- 同時在執(zhí)行的過程中,make會檢測這個目標(biāo)文件是否有必要進(jìn)行執(zhí)行,就比如:執(zhí)行的目標(biāo)文件是clean,文件的依賴方法是清除某一個指定的文件,當(dāng)這個文件清除后,再次使用make進(jìn)行執(zhí)行時,make會發(fā)出提示,因?yàn)樗也坏揭獎h除的文件了。
- 同理對于其他文件來說,make會查看該文件的可執(zhí)行文件和源文件的更新時間,如果源文件的時間更新則進(jìn)行make,而可執(zhí)行文件的時間更新則不執(zhí)行make
- 而多不想要make的提示則需要 輸入 .PHONY:目標(biāo)文件 即可進(jìn)行重復(fù)的執(zhí)行目標(biāo)文件下的依賴方法
- 因?yàn)閙ake 是默認(rèn)執(zhí)行makefile中的第一個目標(biāo)文件,若想要執(zhí)行其他的目標(biāo)文件則需要 make 目標(biāo)文件名 即可。
依賴方法的執(zhí)行?
?文章來源:http://www.zghlxwxcb.cn/news/detail-821807.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-821807.html
到了這里,關(guān)于Linux: make/Makefile 相關(guān)的知識的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!