在前面的標準編譯安裝中,第一步是./configure
,它會根據makefile.in
生成makefile
檔案,然後make
根據makefile
自動編譯軟體。
通常在乙個原始碼包中,已經包含了configure指令碼和makefile檔案,作為課外知識,我們大致了解一下怎麼生成這兩個檔案。
autoconf
autoconf用來生成configure指令碼,它可以檢查系統特性、編譯環境、環境變數、軟體引數、依賴關係等。
autoconf需要用到 m4
1.用autoscan命令描源**目錄生成configure.scan檔案; 2.
將configure.scan改名為configure.in(需要在configure.in檔案中新增 am_init_automake(projectname,version) );
3.用aclocal根據configure.in檔案的內容,自動生成aclocal.m4檔案; 4.
使用autoconf,根據configure.in和aclocal.m4來產生configure檔案;
automake
automake可以從makefile.am檔案自動生成makefile.in,它主要用來配置源**。
automake需用到perl。 ·
手工寫makefile.am;
·使用automake,根據configure.in和makefile.am來產生makefile.in;
makefile
使用configure指令碼,配合makefile.in可以生成makefile檔案,然後用make自動化的編譯軟體。
這裡有一張生成makefile的流程圖:
linux makefile檔案分析
cflags wall wstrict prototypes g fomit frame pointer ffreestanding all crt0.s leds.c arm linux gcc cflags c o crt0.o crt0.s arm linux gcc cflags c o l...
linux makefile檔案心得筆記
經過長時間學習linux makefile檔案,我針對乙個簡單的例項進行了對linux makefile檔案的總結 於是和大家分享一下,看完本文你肯定有不少收穫,希望本文能教會你更多東西。sample makefile edit main.o kbd.o command.o display.o 第一...
Linux makefile檔案的編寫
main.c include mytool1.h include mytool2.h intmain int argc,char ar mytool1.h ifndef mytool 1 h define mytool 1 h void mytool1 print char print str en...