嵌入式linux设计师,make在linux——《嵌入式linux设计与应用》
程序模塊的內(nèi)部關(guān)系決定了源程序編譯和鏈接的順序。通過建立makefile可以描述模塊間的 相互依賴關(guān)系。make命令從中讀取這些信息,然后根據(jù)這些信息對程序進(jìn)行管理和維護(hù)。在makefile 里主要提供的是有關(guān)目的文件與依靠文件之間的關(guān)系,還指明了用什么命令生成和更新目標(biāo)文件。有了這些信息,make會檢查磁盤上的文件,如果目的文件的時(shí)間標(biāo)志(該文件生成或被改動(dòng)時(shí)的時(shí)間)比它的任意一個(gè)依靠文件舊,make就執(zhí)行相應(yīng)的命令,以便更新目的文件(目的文件不一定是最后的可執(zhí)行文件,它可以是任何一個(gè)文件)。 makefile規(guī)則的格式: 目標(biāo)[屬性] 分隔符號 [依賴文件][;命令列] {命令列} 例: #this is a makefile
GCC=gcc
OBJS=main.o prog1.o prog2.o prog3.o
CFLAGS=-O
myprog: main.o prog1.o prog2.o prog3.o ——myprog:$(OBJS)
gcc -o -O myprog main.o prog1.o prog2.o prog3.o --$(CC) -o $(FLAGS) myprog $(OBJS)
main.o: main.c libi.h ---main.o: main.c libi.h
gcc -c -O main.c --$(CC) -c?$(FLAGS) main.c
prog1.o:prog1.c lib1.h ---prog1.o:prog1.c lib1.h
gcc -c -O prog1.c ---$(CC) -c $(FLAGS) prog1.c
prog2.o:prog2.c ---prog2.o:prog2.c
gcc -c-O prog2.c ---$(CC) -c $(FLAGS) prog2.c
prog3.o:prog3.c lib2.h ---prog3.o:prog3.c lib2.h
gcc -c -O prog3.c ---$(CC) -c $(FLAGS) prog3.c
clean:#偽目標(biāo) ---clean:#偽目標(biāo)
rm *.o ---rm *.o
rm myprog--- rm myprog
在makefile中使用宏定義能大大簡化makefile的書寫
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的嵌入式linux设计师,make在linux——《嵌入式linux设计与应用》的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 模板全特化和偏特化用法
- 下一篇: CentOS 7 搭建RAP2r Api