makefile學習筆記

2022-08-18 12:24:16 字數 1036 閱讀 3203

make預設尋找叫makefile或makefile的檔案,自己指定的話用 make -f 檔名

"#": 注釋符

命令列首的"@":取消本行命令回顯

1.規則的基本格式:

目標:依賴

[tab]命令       <---------- 命令開頭要乙個[tab]鍵

例0:

hello:main.o func1.o func2.o 

gcc main.o func1.o func2.o  -o hello

上面這兩行叫乙個規則

2.偽目標(phony taeget): 沒有任何依賴,只有執行動作的目標

用".phony"顯式指明偽目標

.phony: clean

clean:

rm -f *.o

可以使用這一特性實現rebuild all

3.變數:(便於修改)

obj=main.o func1.o func2.o

hello:$(obj)

gcc $(obj) -o hello

系統預設變數:

$^    代表所有依賴檔案

$@  代表目標

$<    代表第乙個依賴檔案

例0改寫如下:

hello:main.o func1.o func2.o

gcc $^ -o $@

4.模式規則

用"%"做萬用字元

"s%.c"表示所有以s開頭,以.c結尾的檔案

例:

%.o: %.c

commands

本例指出了如何從所有.c生成相應.o的規則

如果模式規則後不屑任何命令,就取消了這一模式規則的定義

makefile學習筆記 makefile概述

20180411 makefile學習筆記 makefile概述 makefile主要是在unix下軟體編譯時寫的,window下一般不用 unix裡makefile做的事 相當於window裡ide所做的事 會不會寫makefile,從乙個側面說明了乙個人是否具備完成大型工程的能力。makefil...

Makefile學習筆記

makefile for boot asm nasm 定義變數 asmflags i include run qemu system i386 hdd boot.img boot.img boot.asm asm boot.asm f bin o boot.img install run clean...

Makefile學習筆記

本文為學習筆記,僅供參考,如有好的建議歡迎指出!makefile規則 目標檔案 依賴檔案 tab 命令 命令前必須有乙個tab exp test main.c gcc main.c o test 隱式規則 o c 同名匹配 變數 類似於c中的巨集,引用方式 arg 變數名 值 引用變數可在之後定義 ...