Makefile學習筆記

2021-10-25 10:40:29 字數 1028 閱讀 6809

1.第乙個版本,易懂,

g++2.第二個版本,將編譯與鏈結分開,在有很多**時,不需要每次編譯所有的**,通過下面的結構,每次就只編譯修改的**,然後重新鏈結,

g++main.o:main.c

g++-c main.c

add.o:add.c

g++-c add.c

sub.o:sub.c

g++-c sub.c

mul.o:mul.c

g++-c mul.c

3.第三個版本

obj=main.o add.o sub.o mul.o

cc=g++

cppflass=

-i$(target)

:$(obj)

$(cc)

-o $(obj) $(target)

%.o:%.c

$(cc)

-c $<

-o $@

其中,$<:依賴(規則中第乙個依賴)

$^:規則中的所有依賴

$@:目標

%:模式匹配

4.第四個版本

src=$(wildcard .

//*.c)

obj=$(patsubst ./%

.c./

%.o,$(src)

)cc=g++

cppflass=

-i$(target)

:$(obj)

$(cc)

-o $(obj) $(target)

%.o:%.c

$(cc)

-c $<

-o $@

.phony:clean

clean:

-mkdir /

use(加-當行**執行失敗後,繼續執行後面的**)

rm $(obj) $(target)

-f

.phony:clean 宣告偽目標,當目錄下有clean檔案時,就需要宣告偽目標

patsubst:匹配替換函式

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