最近在 github上看了一些小的開源代碼,發(fā)現(xiàn)不錯(cuò)就打包下載(download zip)。 在我打包下載的這些代碼中,總會(huì)出現(xiàn)一個(gè)Makefile文件。之前經(jīng)常接觸Makefile,沒有深究過,也沒有用過。最近經(jīng)常碰到Makefile,開源代碼也需要用到Makefile,所以今天就對(duì)這個(gè)Makefile做一個(gè)總結(jié)和學(xué)習(xí)。 》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》 Makefile是一種描述文件,在一個(gè)項(xiàng)目中有很多源文件,相互之間依賴關(guān)系很復(fù)雜。makefile能簡(jiǎn)單明了的理順各個(gè)源文件的關(guān)系,極大提高程序開發(fā)效率。 我們一般在Linux中經(jīng)??吹巾?xiàng)目用有Makefile,而在windows中很少看到,原因是因?yàn)閣indows上的IDE工具已經(jīng)幫你自動(dòng)生成了Makefile,編譯工程的時(shí)候自動(dòng)調(diào)用Makefile進(jìn)行編譯,所以在windows上我們經(jīng)常是在不知情的情況下經(jīng)常更Makefile打交道。 那么Makefile里的內(nèi)容到底是些什么東西呢? Makefile規(guī)定如何生成目標(biāo)文件,所依賴的文件及生成的命令等。 makefile的基本語(yǔ)法規(guī)則如下: 注意:如果command不和目標(biāo)文件所在一行時(shí),在command前要加tab鍵例子: 1.定義一個(gè)fun.h頭文件
2.定義一個(gè)fun.c文件
3.定義一個(gè)mian.c文件
為了編譯上面這個(gè)項(xiàng)目,我們編譯Makefile如下:
保存Makefile,在Makefile目錄下鍵入命了 make,編譯器就會(huì)開始編譯這個(gè)項(xiàng)目了。 |
|