GNU-Tool中怎么實(shí)現(xiàn)自動(dòng)化工程,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、雅安服務(wù)器托管、營(yíng)銷軟件、網(wǎng)站建設(shè)、十堰網(wǎng)站維護(hù)、網(wǎng)站推廣。
1.autoscan
autoscan 用來(lái)在給定目錄及其子目錄樹(shù)中檢查源文件,掃描源代碼目錄從而生成 configure.scan 文件。autoscan 可以用目錄名作為參數(shù),也可以省略參數(shù),此時(shí) autoscan 將把當(dāng)前目錄當(dāng)作參數(shù)。
configure.scan 文件很重要,它是 configure.in 文件的原型,通過(guò)修改 configure.scan 后得到 configure.in 文件。
2.aclocal
aclocal 是一個(gè) perl 腳本程序。aclocal 根據(jù) configure.in 文件的內(nèi)容,自動(dòng)生成 aclocal.m4 文件。aclocal 的定義是: “ aclocal-create aclocal.m4 by scanning configure.ac "
3.autoconf
autoconf 是用來(lái)產(chǎn)生 configure 文件的。configure 是一個(gè)腳本,它能設(shè)置源程序來(lái)適應(yīng)不同的操作系統(tǒng)平臺(tái),并且根據(jù)不同的系統(tǒng)生成合適的 Makefile ,從而可以使源代碼能夠在不同的操作系統(tǒng)平臺(tái)上被編譯出來(lái)。
4.autoheader
autoheader 負(fù)責(zé)生成 config.h.in 文件。該工具通常從 acconfig.h 文件中復(fù)制用戶添加的符號(hào)定義。
5.automake
automake 是工具集中的重要成員之一,它調(diào)用腳本文件 Makefile.am , 并最終生成 configure 文件。我們就是通過(guò)調(diào)用 configure 文件來(lái)自動(dòng)產(chǎn)生 makefile 的。
第一步 掃描本地目錄
autoscan
第二步 重新命名為ac文件
mv configure.scan configure.ac
第三部 編輯configure.ac
第四步configure.ac文件宏說(shuō)明:
AC_PRERREQ 宏聲明文件要求的 autoconf 版本
AC_INIT 宏用來(lái)定義軟件的名稱和版本等信息。
其中FULL-PACKAGE-NAME 表示軟件的名稱;
VERSION 為軟件的版本號(hào);
BUG-REPORT-ADDRESS 一般為作者的 E-mail
文件宏順序說(shuō)明:
AC_INIT
測(cè)試程序
測(cè)試函數(shù)庫(kù)
測(cè)試頭文件
測(cè)試類型定義
測(cè)試結(jié)構(gòu)
測(cè)試編譯器特性
測(cè)試庫(kù)函數(shù)
測(cè)試系統(tǒng)調(diào)用
AC_OUTPUT
加入下面兩個(gè)宏在configure.ac文件中
AM_INIT_AUTOMAKE([-Wall -Werror foreign]) 生成make參數(shù)
AC_CONFIG_FILES([Makefile]) 宏用于生成相應(yīng)的 Makefile 文件
第五步 這里可能會(huì)生成一個(gè) aclocal.m4 ,該文件主要處理本地的宏定義:
aclocal
第六步驟 生成configure文件
autoconf
第七步 生成配置頭文件
autoheader
第八步 創(chuàng)建Makefile.am,增加編譯目標(biāo)文件和源文件
Makefile.am
第九步 生成Makefile文件
automake --add-missing
第十步 編譯配置
./configure --prefix=$(pwd)/install
第十一步
make && make install
simple:
Makefile.am
SUBDIRS = src dist_doc_DATA = README.md
README.md
Some doc.
configure.ac
AC_INIT([automake_hello_world], [1.0], [bug-automake@gnu.org]) AM_INIT_AUTOMAKE([-Wall -Werror foreign]) AC_PROG_CC AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([ Makefile src/Makefile ]) AC_OUTPUT
src/Makefile.am
bin_PROGRAMS = autotools_hello_world autotools_hello_world_SOURCES = main.c
src/main.c
#include#include int main (void) { puts ("Hello world from " PACKAGE_STRING); return 0; }
Usage
autoreconf --install mkdir build cd build ../configure make sudo make install autoconf_hello_world sudo make uninstall
This outputs:
Hello world from automake_hello_world 1.0
關(guān)于GNU-Tool中怎么實(shí)現(xiàn)自動(dòng)化工程問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。