日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux清除configure文件_在Linux操作系统下自动生成Makefile的方法

發布時間:2024/7/19 linux 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux清除configure文件_在Linux操作系统下自动生成Makefile的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Linux操作系統下進行開發,編寫Makefile似乎是不可缺少的事情。但是對于一個比較大的工程,編寫一個符合規范的Makefile并非易事。而且由于Makefile的各種顯式,隱式規則,加之平時并不經常編寫Makefile,導致我們寫一個Makefile文件變得更加困難了。

幸好Linux社區有一群非常懶,又非常勤奮得程序員,他們開發了一個可以自動生成Makefile文件得工具,這就是autotools.該工具可以通過掃描源文件,自動生成一個Makefile文件。是不是很神奇!下面是生成Makefile的一個整體流程,我們后面慢慢介紹。

安裝autotools

有的系統可能并沒有autotools工具,需要手動安裝,以Ubuntu為例,可以通過如下命令進行安裝:

sudo apt install automake

完成安裝之后就可以使用autotools進行下面的流程了。

生成configure.ac文件

首先我們要準備一些源文件,如下圖是本文準備的源文件。本文以C++語言開發的程序為例,其中main.cpp是主程序所在文件,而async_network*和storage*分別是網絡通信模塊和本地存儲模塊,分別封裝了一個C++類來實現具體的功能。本文通過多個文件是為了增加項目的復雜性。源文件的具體內容本文不再贅述,因為這個與內容無關。

完成對源文件創建后,我們就可以通過autoscan命令對該目錄進行掃描,生成configure.scan文件。首先切換到該目錄,然后執行命令,具體如下:

autoscan

執行成功后可以看出多了兩個文件,一個是autoscan.log,這個是日志文件;另外一個是configure.scan文件,這個是掃描的結果文件。

這里configure.scan其實是一個模板文件,我們需要手動修改一下其內容,并將其改名為configure.ac。具體需要做:

1) AC_INIT里面的參數: AC_INIT(main,1.0, sunnyzhang@126.com);

2) 添加宏AM_INIT_AUTOMAKE;

3) 在AC_OUTPUT后添加輸出文件Makefile。

完成修改后的文件內容如下:

生成aclocal.m4文件

直接執行aclocal命令即可生成該文件:

aclocal

aclocal.m4是一個宏定義文件,該文件內容的生成依賴于configure.ac文件。aclocal會根據confgure.ac文件的內容,搜索本地的m4文件(通常在類似目錄下面/usr/share/aclocal-1.15/),然后生成一個在本目錄下面使用的aclocal.m4文件。

生成config.h.in文件

該文件的生成比較簡單,直接在命令行執行如下命令即可:

autoheader

這個文件是一個模板文件,后面會利用該文件生成config.h文件。該文件包含一些宏定義。

生成Makefile.in文件

生成Makefile.in文件之前需要首先手動的創建一個Makefile.am文件,該文件用于描述源文件與目標文件的關系。本文對應的Makefile.am文件如下所示:

可以看出該文件非常簡單,這比寫一個Makefile要簡單的多。

如果要生成多個目標文件,需要在這里寫多個源文件與目標文件的對應關系。這種情況是非常常見的,比如一些復雜的項目中通常會包含主程序,測試程序,動態庫等等。

生成configure文件

上述文件都生成后就可以生成configure文件了。該文件是用于生成Makefile的一個腳本。我們在很多開源項目中肯定都遇到過。在開源項目中通常都有一個生成好的configure文件,我們只需要執行該文件就可以生成Makefile。

生成configure文件的方法很簡單,我們執行如下命令即可:

autoconf

至此我們完成了生成Makefile的所有準備工作,然后我們在該目錄下面運行configure腳本,即可生成Makefile文件。

./configure

可以看出,在整個過程中我們只需要手動修改或者創建2個文件,而且修改的內容很少。最后我們就可以得到一個完整的Makefile文件。對于大型的軟件項目,這種方法無疑是非常有效的。

今天的內容就到這里,大家只需要按照步驟運行就可以生成Makefile文件。后續我們在對每個工具進行更加深入的介紹,這樣大家不僅能知其然,還能知其所以然。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的linux清除configure文件_在Linux操作系统下自动生成Makefile的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。