工程Makefile例項

2021-07-03 03:15:05 字數 836 閱讀 1270

1級makefil:

.phony: clean:

@for subdir in $(subdirs); do \

(cd $$subdir && make clean); \

done

②級makefile:

target     := lib$(notdir $(curdir)).a

objs       := $(wildcard *.o)

cc_flags    += -fpic -md # 靜態庫合成動態庫選項

ar         := arm-linux-ar

ar_flags   := rcs

ifdef arg

else

export c_flags := -g -wall -o3

export ccg := arm-linux-gcc

endif

all:$(objs)

$(ar) $(ar_flags) $(target) $(objs)

.phony: clean 

clean:

rm -rf *.o *.a

嵌入式makefile總結:

1、優化**空間 使用-wall -os選項。

2、使用export傳遞編譯器選項引數。

3、靜態庫編譯時已經新增到可執行檔案中。

4、幾個靜態庫一起鏈結時,如果有依賴關係,則需先鏈結被依賴庫。

4、動態庫需在目標機庫中加入.so檔案。

5、幾個靜態庫如果需合併成乙個靜態庫,則ar x lib***.a   ar cru libxx.a *.o即可。

6、注釋不能#開頭,不然複製會亂碼。

Makefile工程編譯

1.寫在前面 本篇文章講的是接前面makefile之編譯多個可執行程式中第二個需求,並延伸到對正規工程的編譯。2.工程 我接觸的工程有2種情況 所有原始檔都放乙個目錄 按模組分放不同的目錄 下面按照這兩種情況講解。3.所有原始檔都放乙個目錄 不建議所有原始檔都放乙個目錄,當工程大時,乙個目錄下會有很...

Makefile工程管理

1 makefile用途 make的工作主要依賴於乙個叫makefile的檔案。makefile檔案描述了整個程式的編譯,鏈結等規則。其中包括 工程中的哪些原始檔需要編譯以及如何編譯,如何最後產生我們想要的可執行檔案。2 makefile中最重要的組成部分是規則 規則 用於說明如何生成目標檔案,規則...

makefile工程管理

當工程量少時,可以採用gcc檔案單個編譯。像linux kernel 1萬多個時採用make管理。linux程式設計師必須學會使用gnu make來構建和管理自己的軟體工程。make在執行時,需要乙個命名為makefile的檔案。makefile檔案描述了整個工程的編譯 鏈結等規則。makefile...