makefile之多目錄檔案編譯

2021-06-23 03:49:50 字數 728 閱讀 3708

一般我們自己練習時涉及到的原始檔和標頭檔案較少,且均放在同乙個目錄,因此makefile檔案可以簡單的寫成如下即可:

#set value

cfile = $(wildcard *.c)

#compile

main:$(cfile)

@gcc $(cfile) -o main

#clean main

.phony:clean

clean:

@-rm main

但當遇到多個檔案目錄時,就需要我們宣告所有引用的標頭檔案和原始檔的路徑了:

假設我們的**框架如下:

src:

-api:method.h

-method:method_1.c, method_2.c

main.c

則,makefile檔案可寫為:

#set value

cfile = $(wildcard *.c)

cfile += $(wildcard method/*.c)

dirsrc = -i api

#compile

main:$(cfile)

@gcc $(cfile) $(dirsrc) -o main

#clean main

.phony:clean

clean:

@-rm main

source檔案和makefile檔案編寫

一.makefile 沒有副檔名,它名字就叫makefile 內容如下 include ntmakeenv makefile.def wdm程式使用的所有makefile都這樣寫,我們只需寫乙個,編譯時把它拷貝到工作目錄下就行了 二.sources檔案就需要我們根據不同的場合修改了,不過基本模板如下...

多個原始檔進行編譯,即 makefile 的編寫

makefile的好處是防止原始檔的重複編譯 比如有好多個原始檔,某天對其中乙個原始檔進行修改,如果不寫makefile的話,需要將整個工程的所有檔案重新編譯一遍,非常麻煩,有了makefile,說明了每個原始檔的依附關係,當某個原始檔改變的時候只需重新編譯一下關聯的原始檔就好。例如 有以下檔案 o...

makefile 編譯當前目錄下的檔案

makefile 2018 10 23 build all c file 目標檔案 所有的依賴檔案 第乙個依賴檔案。版本號 version v1.0.0 編譯器版本 cc arm none linux gnueabi gcc 指定目錄下的原始檔,srcs wildcard c srcs wildca...