Makefile示例學習

2021-08-21 10:06:48 字數 997 閱讀 8092

裸機程式中的makefile是把程式的編譯和鏈結過程分開的,編譯要使用編譯器gcc,鏈結使用鏈結器ld

示例:led.bin: start.o

arm-linux-ld -ttext 0x0 -o led.elf $^

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

arm-linux-objdump -d led.elf > led_elf.dis

gcc mkv210_image.c -o mkx210

./mkx210 led.bin 210.bin

%.o : %.s

arm-linux-gcc - o $@ $< -c

%.o : %.c

arm-linux-gcc - o  $@ $< -c

clean:

rm *.o *.elf *.bin *.dis mkx210 -f

1.%.o是目標,%.c,%.s是依賴

2.$@代表的是%.o檔案,$《代表是%.s和%.c

3.-c 代表只編譯不鏈結,-o用來指定檔案名字

5.鏈結器得到的led.elf其實就是我們的可執行程式(如果是在作業系統下,就可以直接執行,但裸機中我們需要的是可以燒寫的檔案)可燒寫的檔案就叫做映象,也就是image

6.arm-linux-objcopy -o binary led.elf led.bin 使用led.elf為原材料來生成led.bin(映象image)

7.arm-linux-objdump -d led.elf >led_elf.dis 把編譯好的.elf格式的檔案轉為對應的彙編檔案,得到彙編**

8.gcc mkv210_image.c -o mkv210在主機(linux系統中進行編譯鏈結生成可執行檔案mkv210)

9.     ./mkv210  led.bin  210.bin      210.bin是通過sd卡啟動時的裸機映象,這個映象由led.bin為原材料,mkv210為工具加工得到

makefile語法示例

edit main.o kbd.o cc o edit main.o kdb.o main.o main.c defs.h cc c main.c kbd.o kbd.c defs.h command.h cc c kbd.c clean rm o edit makefile中使用變數 object...

makefile寫法簡單示例

作為linux或unix下的程式開發人員,大家一定都遇到過makefile,用make命令來編譯自己寫的程式確實是很方便。一般開發情況下,大家都是手工寫乙個簡單makefile。下面先給乙個最簡單的示例 makefile示例 object main.o function.o change objec...

makefile介紹及示例

乙個開發工程會有很多的原始檔,它們按型別 功能 模組分別放在若干個目錄中,makefile定義了一系列的規則來指定,哪些檔案需要先編譯,哪些檔案需要後編譯,哪些檔案需要重新編譯等。makefile檔案關係到整個工程的編譯規則。寫好的makefile,只要執行make命令,就會按makefile裡定義...