Makefile教程一
生活随笔
收集整理的這篇文章主要介紹了
Makefile教程一
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
在正式進入makefile相關知識講述之前,這里可能需要對makefile本身的應用場景進行一點簡單的陳述。如果你在linux環境下使用源碼安裝軟件時,其中一個過程就是執行make命令。make命令本身實際上就是按照makefile中的內容對源碼進行編譯。那么對于makefile本身我想先總結一下這項技術的特點
- makefile本身只是對編譯流程進行規定,簡單理解就是有了makefile之后我們只需要通過make命令來執行makefile中定義的編譯規則即可完成代碼的編譯工作
- 如果沒有makefile我們可以手動完成源碼的編譯工作,但是對于復雜的工程項目,如果還是按照手動編譯,編譯工作本身就需要消耗大量的時間,效率低,使用成本高。其次,對項目進行手動編譯的前提是對項目本身的的模塊設計以及編譯鏈接過程有詳細的了解,這本身又會增加其他人使用該軟件的難度。
- makefile本身可以定義多個目標生成過程,開發者可以根據不同的需要設計不同的目標,一些特定的功能只需要存在于特定的目標程序中。而一個常見的特定功能就是測試程序。但是對于一般的軟件使用者來說,測試程序又是不需要的。
- makefile支持多線程并發編譯,并且會智能重新編譯那些修改后的源文件
makefile基礎結構
makefile本身內容較多,這里先介紹一些makefile相關的基礎概念,通過這些基礎概念我們可以更加清晰的了解其功能。
首先,makefile只是一個基礎文本類文件,所有文本類編輯器可以直接進行編輯,常見格式如下
基礎結構是比較容易理解的,targets就是我們的目標文件,pres就是在生成目標文件時的依賴文件,command就是需要執行的命令,對于常見額C語言程序,示例如下
test_makefile:test_makefile.cgcc -o test_makefile test_makefile.c可能大家看到這里就明白makefile實際上就是將一些編譯過程中的命令寫入到文本文件中,當然上面的案例較為簡單,僅僅用作展示,后面我會逐步講解makefile本身所具有的特殊之處
總結
以上是生活随笔為你收集整理的Makefile教程一的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ3670: [Noi2014]动
- 下一篇: scroll-view 横向滑动无效的问