CMake 與 Automake 最終會轉換爲 Makefile 文件,而後執行 Makefile 相關的操做命令。
Makefile 定義了一系列的規則來指定,哪些文件須要先編譯,哪些文件須要後編譯,哪些文件須要從新編譯,甚至於進行更復雜的功能操做,由於 Makefile 就像一個 Shell 腳本同樣,其中也能夠執行操做系統的命令。html
CMake 是一個跨平臺的安裝(編譯)工具,能夠用簡單的語句來描述全部平臺的安裝(編譯過程)。他可以輸出各類各樣的makefile 或者 project 文件。node
Automake 是一種幫助自動產生 Makefile 文件的軟件。程序設計者只須要寫一些預先定義好的宏,提交給 Automake 處理後會產生一個能夠供 Autoconf 使用的 Makefile.in文件。再配合利用 Autoconf產生的自動配置設置文件 configure 便可產生一份符合 GNU Makefile 慣例的 Makeifle 了。ide
# 編譯源碼(當前路徑爲 Makefile 文件所在目錄) make # 安裝編譯後的頭文件、庫文件和可執行文件(非管理員須要su) make install
# 此處以 outside-build 爲例 mkdir build # 在此處執行構工做,產生的全部文件均位於此處,不影響原工程文件. cd build # 自動構建 Makefile 文件 cmake .. # 編譯源碼 make # 安裝庫 make install
# 根據目標平臺實例化配置文件 autoreconf --install # 自動構建 Makefile 文件 ./configure # 編譯源碼 make # 安裝庫 make install