首先創建一個 Linux Makefile.am.這一步是創建Linux Makefile很重要的一步,automake要用的腳本配置文件是Linux Makefile.am,用戶需要自己創建相應的文件。之后,automake工具轉換成Linux Makefile.in。
AD:
在向大家詳細介紹Linux Makefile之前,首先讓大家了解下Linux Makefile,然后全面介紹Linux Makefile,希望對大家有用。由于畢業設計開發的平臺是Linux, 為了在Linux進行,Linux Makefile的編寫是必不可少的,為偷懶,我想使用autotools來進行Makefile的自動生成,在閱讀大量的資料后,在理解的基礎之上,做了一個小實驗,過程記錄得非常詳細!
我的平臺是:HP 6510B Notebook Fedora 8 32 位的Autotools工具的版本均為Fedora 8 完全自帶的,尚未進行過升級!為了編譯一個簡單的源文件main.c,需要自動生成一個makefile,以下是步驟:
Linux Makefile第一步
在/root/project/main目錄下創建一個文件main.c,其內容如下:
- #include?<stdio.h>? ?
- int?main(int?argc,?char**?argv)? ?
- {? ?
- printf("Hello,?Auto?Makefile!\n");? ?
- return?0;? ?
- }??
此時狀態如下:
- [root@localhost?main]#?pwd ?
- /root/project/main ?
- [root@localhost?main]#?ls ?
- main.c ?
- [root@localhost?main]#??
Linux Makefile第二步:
- 運行?autoscan?,?自動創建兩個文件:? ?
- autoscan.log??configure.scan此時狀態如下: ?
- [root@localhost?main]#?autoscan ?
- [root@localhost?main]#?ls ?
- autoscan.log??configure.scan??main.c ?
- [root@localhost?main]#??
第三步:修改configure.scan的文件名為configure.in查看configure.in的內容:
- #?-*-?Autoconf?-*- ?
- #?Process?this?file?with?autoconf?to?produce?a?configure?script. ?
- ?
- AC_PREREQ(2.61) ?
- AC_INIT(FULL-PACKAGE-NAME,?VERSION,?BUG-REPORT-ADDRESS) ?
- AC_CONFIG_SRCDIR([main.c]) ?
- AC_CONFIG_HEADER([config.h]) ?
- ?
- #?Checks?for?programs. ?
- AC_PROG_CC ?
- ?
- #?Checks?for?libraries. ?
- #?Checks?for?header?files. ?
- #?Checks?for?typedefs,?structures,?and?compiler?characteristics. ?
- #?Checks?for?library?functions. ?
- AC_OUTPUT ?
解讀以上的文件:
- #?-*-?Autoconf?