天天看點

makefile學習

俗話說,不會寫makefile的程式員不是好的程式員。

看了很多人寫的makefile教程,感覺太難懂,還不如韋東山老師視訊裡講的好了解。

先記下這幾個符号,以後看到就不會忘記這是什麼東西了。

先來看一個例子:

其中:

1、Person表示要生成的目标檔案。

      main.o  person.o是依賴檔案

      是以Person: main.o person.o

這句話的意思就是,要想生成Person這個檔案,就要依賴于main.o , person.o這兩個檔案。

2、$@ : 表示目标檔案,這裡的目标檔案就是Person

      $^   :  表示目标檔案後面的所有依賴檔案,也就是.o檔案

      $<  :  表示第一個依賴檔案,這裡的第一個指的就是main.o

3、%.o : %.cpp

      %,o : %,cpp前面加%表示通配符,表示通配所有的.o檔案還有所有的.cpp檔案

4、還有一點要注意,上面g++前面不是空格,而是一個tab,一般情況下,tab是4個空格的大小。

5、clean: 

      對應下面的檔案,如果你執行make clean,makefile就會幫你清除所有的.o和Person這個目标檔案。

繼續閱讀