一、make、make install、make clean是什麼
在開發中,我們會看到很多軟件的源碼都是以.tar.gz壓縮包的形式分發的,這個時候我們就需要使用到make、make install、make clean命令了。它們在Linux開發環境中非常常用,是對源碼進行編譯、安裝的必不可少的幾個指令。
make:是一個命令工具,通常用於對程序進行編譯。
make install:是將編譯好的程序安裝到系統中,這樣就可以在命令行中輸入程序名來運行它。
make clean:是將編譯生成的文件全部刪除,包括中間文件和可執行文件。
二、makefile文件的作用
makefile文件是一個包含一系列規則用於告訴make命令如何編譯和鏈接源文件的文件。當你輸入make命令的時候,make先讀取當前目錄下的makefile文件,根據規則來進行編譯和鏈接操作。
使用makefile,我們就可以很容易地定製編譯過程,使得編譯速度更加快速和穩定。
三、makefile文件的編寫規範
makefile文件中通常包含一些基本結構,如:
target ... : prerequisites ...
command
...
...
- target:表示目標文件名,可以是可執行程序、中間目標(.o文件)等。
- prerequisites:表示依賴的文件,即生成目標文件所需要的文件。
- command:表示執行該規則時,需要執行的命令。
四、make指令的執行順序
當我們在執行make指令時,make會按照以下順序執行:
- make會檢查所有的依賴文件是否存在;
- 如果依賴文件中有文件被修改,那麼會重新生成該文件;
- 生成所有目標文件,包括可執行的文件、中間文件等;
- 執行make install指令,將生成的文件安裝到系統中。
五、make和make install示例
下面以hadoop-2.8.4源碼為例,演示make和make install的具體操作步驟。
1、解壓hadoop-2.8.4源碼文件,並進入該目錄。
$ tar xzvf hadoop-2.8.4.tar.gz
$ cd hadoop-2.8.4/
2、執行configure命令,該命令會根據當前系統的環境配置生成makefile文件。
$ ./configure
3、執行make命令,該命令會根據makefile文件中的規則把源文件編譯成可執行文件。
$ make
4、執行make install命令,該命令會將編譯好的程序安裝到系統中。
$ make install
六、make clean命令的作用
make clean命令的作用是刪除make指令生成的中間文件和可執行文件。
$ make clean
這個命令會把當前目錄下make命令生成的所有文件全部刪除。
七、總結
通過本文的介紹,我們對make、make install、make clean這幾個命令有了更深入的了解,以及如何編寫makefile文件。在Linux環境下,這些指令和文件是非常重要和必不可少的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/242687.html