天天看點

Makefile工程管理(嵌入式學習記錄)

makefile工程管理

makefile檔案:

規則:用于說明如何生成目标檔案,規則的格式如下:

  targets : prerequisites

       command

目标 依賴 指令

特别注意:指令需要使用【TAB】建空格

all: led.o (最終目标)

       arm-linux-ld-Tled.lds -o led.elf led.o

       arm-linux-objcopy-O binary led.elf led.bin

led.o : led.S

       arm-linux-gcc-g -o led.o -c led.S

.PHONY: clean  (僞目标)

clean:

       rm*.o led.elf led.bin

makefile-變量

使用變量前:

app1: app1.o func1.ofunc2.o

gcc app1.o func1.o func2.o -o app1

app2: app2.o func1.o func2.o

gcc app2.o func1.o func2.o -o app2

使用變量後:

obj=func1.o func2.o

app1: app1.o $(obj)

gcc app1.o $(obj) -o app1

app2: app2.o $(obj)

gcc app2.o $(obj) -o app2

系統定義好的預設變量

v $^:代表所有的依賴檔案

v $@:代表目标

v $<:代表第一個依賴檔案

Makefile規則-變量

使用前:

led.o : led.S

arm-linux-gcc -g –o led.o -c led.S

使用後:

led.o : led.S

arm-linux-gcc -g –o $@ -c $^