在Linux中,Makefile是一個(gè)文本文件,用于指導(dǎo)make命令執(zhí)行軟件編譯和構(gòu)建的過(guò)程。下面是Makefile的基本用法:
創(chuàng)建Makefile文件:在項(xiàng)目的根目錄下創(chuàng)建一個(gè)名為"Makefile"或者"makefile"的文本文件。
編寫(xiě)Makefile規(guī)則:Makefile由一系列規(guī)則組成,每個(gè)規(guī)則包含了一個(gè)目標(biāo)(target)、依賴(lài)(dependencies)和要執(zhí)行的命令(command)。
目標(biāo)(target):指定要生成的文件或者要執(zhí)行的操作。
依賴(lài)(dependencies):目標(biāo)所依賴(lài)的其他文件或者操作。
命令(command):執(zhí)行的命令或者操作。
一個(gè)基本的Makefile規(guī)則的語(yǔ)法如下:
target: dependency1 dependency2 ...
command1
command2
例如,編譯一個(gè)名為"hello.c"的C語(yǔ)言源文件,并生成可執(zhí)行文件"hello":
hello: hello.c
gcc -o hello hello.c
例如,定義一個(gè)偽目標(biāo)"clean",用于清理生成的可執(zhí)行文件:
clean:
rm -f hello
make會(huì)讀取Makefile中的規(guī)則,并根據(jù)依賴(lài)關(guān)系和命令執(zhí)行編譯和構(gòu)建操作。
例如,執(zhí)行make命令生成可執(zhí)行文件:
$ make
也可以指定目標(biāo)來(lái)執(zhí)行特定的規(guī)則,例如運(yùn)行"clean"偽目標(biāo)清理文件:
$ make clean
這是Makefile的基本用法,可以根據(jù)具體項(xiàng)目的需求進(jìn)行相應(yīng)的修改和擴(kuò)展。