####################################
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中使用變數:
objects = main.o kbd.o
edit : &(objects )
cc -c main.c
main.o : main.c defs.h
cc -c main.c
kbd.o : kbd.c defs.h command.h
cc -c kbd.c
clean:
rm objects edit
如果有新的.o
檔案加入,我們只需要簡單滴修改一下
objects
變數就可以了。
當然,你可以使用別的檔名來書寫makefile
,比如:「
make.linux
」,「make.solaris
」,「make.aix
」等,如果要指定特定的
makefile
,你可以使用
make
的「-f
」和「--file
」引數,如:
make -f make.linux
或make --file make.aix。
波浪號(「
~」)字元在檔名中也有比較特殊的用途。如果是「
~/test
」,這就表示當前使用者的
$home
目錄下的
test
目錄。而「
~hchen/test
」則表示使用者
hchen
的宿主目錄下的
test
目錄。
makefile檔案中的特殊變數「
vpath
」就是完成檔案搜尋功能的,如果沒有指明這個變數,make
只會在當前的目錄中去找尋依賴檔案和目標檔案。如果定義了這個變數,那麼,
make
就會在當當前目錄找不到的情況下,到所指定的目錄中去找尋檔案了。
vpath = src:../headers
上面的的定義指定兩個目錄,「src
」和「../headers
」,make
會按照這個順序進行搜尋。目錄由「冒號」分隔。(當然,當前目錄永遠是最高優先搜尋的地方)
Makefile語法和使用示例
make命令格式 makefile中的變數 編寫多檔案程式設計的makefile 使用autotools生成包含多檔案的makefile 目標 依賴檔案列表 命令列表 首先寫乙個main.h,如下 define pi 3.14在同目錄下,再寫乙個main.c,如下 include include m...
Makefile示例學習
裸機程式中的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...
makefile語法 Makefile的語法
假如乙個目標檔案所依賴的依賴檔案很多,我們豈不是要寫很多規則?這顯然不合乎常理。我們可以使用萬用字元解決這些問題。我們對上節程式進行修改 如下 test a.o b.o gcc o test o c gcc c o o 表示所用的.o檔案 c 表示所有的.c檔案 表示目標 表示所有依賴檔案 在該目錄...