參考:http://blog.csdn.net/ruglcc/article/details/7814546/
1 Makefile 介紹
make命令執(zhí)行時(shí)褥紫,需要一個(gè) Makefile 文件母截,以告訴make命令需要怎么樣的去編譯和鏈接程序限府。
首先,我們用一個(gè)示例來說明Makefile的書寫規(guī)則疲憋。以便給大家一個(gè)感興認(rèn)識(shí)。這個(gè)示例來源于GNU的make使用手冊,在這個(gè)示例中茎用,我們的工程有8個(gè)C文件,和3個(gè)頭文件你虹,我們要寫一個(gè)Makefile來告訴make命令如何編譯和鏈接這幾個(gè)文件绘搞。我們的規(guī)則是:
1.如果這個(gè)工程沒有編譯過,那么我們的所有C文件都要編譯并被鏈接傅物。
2.如果這個(gè)工程的某幾個(gè)C文件被修改夯辖,那么我們只編譯被修改的C文件,并鏈接目標(biāo)程序董饰。
3.如果這個(gè)工程的頭文件被改變了蒿褂,那么我們需要編譯引用了這幾個(gè)頭文件的C文件,并鏈接目標(biāo)程序卒暂。
只要我們的Makefile寫得夠好啄栓,所有的這一切,我們只用一個(gè)make命令就可以完成也祠,make命令會(huì)自動(dòng)智能地根據(jù)當(dāng)前的文件修改的情況來確定哪些文件需要重編譯昙楚,從而自己編譯所需要的文件和鏈接目標(biāo)程序。