Makefile學習筆記

2021-10-10 08:36:20 字數 868 閱讀 9116

考慮如下makefile:

cc=g++

cflags=-c –wall

objects=main.o hello.o factorial.o

all: prog

prog: $(objects)

$(cc) $(objects) -o prog

%.o: %.cpp

$(cc) $(cflags) $<

clean:

rm -rf *.o

考慮makefile中的以下入口:

hello.o: hello.c hello.h

echo $@

echo $<

echo $^

我們將每個入口的冒號左側稱為入口的目標檔案, 右側稱為入口的依賴檔案, 因此這個入口的目標檔案為hello.o, 依賴檔案為hello.c和hello.h. @, 《和^均為makefile中特有的巨集, 其中@代表這個入口的目標檔案, 《代表這個入口的第乙個依賴檔案, ^代表這個入口的所有的依賴檔案. 以上入口的執行結果如下:

$ make hello.o

echo hello.o

hello.o

echo hello.c

hello.c

echo hello.c hello.h

hello.c hello.h

更進一步, 以下兩個入口是等價的:

test: test.c

gcc test.c -o test

test: test.c

gcc test.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 變數名 值 引用變數可在之後定義 ...