makefile的好處

會不會寫makefile,決定了一個人是否具備完成大型工程的能力。

由於Windows的很多編譯環境在執行編譯時操作過於“傻瓜”,所以很多程序員在做Unix開發的時候會很不適應,因為橫在他們面前的,是一座叫做“makefile”的大山。然而,成為專業的程序員,你必須要跨過這座大山。

makefile最大的好處就是在於可以主動編譯,一個工程裏面可能會有成百上千個文件,哪個文件先編譯,哪個文件後編譯,哪個文件需要編譯很多遍,這些東西都要寫在makefile裏面。

makefile厲害的地方在於,該文件一旦寫好,僅僅須要一個make命令,整個工程全然自己主動編譯,極大的提高了軟件開發的效率。make是一個命令工具,是一個解釋makefile中指令的命令工具,一般來説,大多數的IDE都有這個命令,比方:Delphi的make,Visual C++的nmake,Linux下GNU的make。可見,makefile都成為了一種在工程方面的編譯方法。

 

編譯和鏈接:

無論是C,C++,如果想要運行的話,就要首先生成中間代碼,在windows中一般是.obj文件,在Unix中一般是.o文件,這個過程就是編譯。一個工程文件

 

關於文件名稱:

默認的情況下,make命令會在當前文件夾下按順序找尋文件名稱為“GNUmakefile”、“makefile”、“Makefile”的文件,找到了解釋這個文件。在這三個文件名稱中,最好使用“Makefile”這個文件名稱,由於,這個文件名稱第一個字符為大寫,這樣有一種顯目的感覺。最好不要用“GNUmakefile”,這個文件是GNU的make識別的。有另外一些make僅僅對全小寫的“makefile”文件名稱敏感,可是基本上來説,大多數的make都支持“makefile”和“Makefile”這兩種默認文件名稱。