最簡單的makefile

2021-09-30 02:36:17 字數 841 閱讀 1027

name=main

$(name).exe : $(name).obj

$(name).obj : $(name).cpp

要點:

exe在前,

obj在後。因為

nmake

判斷$(name

).obj

,如果不是最新的,就更新

obj,然後建立

exe。這裡,分號前叫做「

target

」,分號後叫做「

dependent

」。這還不是最簡單的,這裡使用了巨集

name

。對巨集的引用是

$(),如果巨集是單個字元,也可以不加()。

name=main

$(name).exe : $(name).obj

@echo "link exe is ok"

$(name).obj : $(name).cpp

新增了@echo

"link exe is ok"

,主要解釋

@的用法:不顯示自身,所以顯示的是

:link

exe is ok

而不是echo

"link exe is ok"

"link

exe is ok"

如果交換一下$(name).obj : $(name).cpp和$(name).exe : $(name).obj的位置,即

$(name).obj : $(name).cpp

$(name).exe : $(name).obj

exe將不會被編譯,似乎

nmake

只執行第一行,然後由依賴關係再去執行其他。

最簡單的makefile

hello.c的內容如下 include int main makefile 的內容如下 hello.exe hello.o gcc o hello.exe hello.o hello.o hello.c gcc c hello.c clean rm hello.o hello.exe window...

Makefile的簡單使用與最簡單模板

makefile簡單使用objs prog.o code.o objs表示的是中間的鏈結檔案cc gcc 使用巨集的方式確定編譯器 target test test表示所生成的目標可執行檔案,使用巨集的方式 target objs 目標可執行檔案的 在使用巨集時須得使用引用符號 其他的 引用也一樣 ...

乙個最簡單的Makefile例子

1.hello.c include int main 2.makefile hello hello.o cc o hello hello.o hello.o hello.c cc c hello.c clean rm hello.o 說明 cc o hello hello.o前面是乙個tab的空格 ...