makefile編寫規(guī)則有哪些

小億
135
2023-09-12 17:16:33

在Makefile中,常見的規(guī)則有以下幾種:

  1. 顯式規(guī)則(Explicit Rule):指定一個(gè)或多個(gè)目標(biāo)文件和依賴文件,并給出生成目標(biāo)文件的命令。例如:
target: dependencies
command
  1. 隱式規(guī)則(Implicit Rule):根據(jù)文件名的后綴和一些約定規(guī)則,自動(dòng)推導(dǎo)出生成目標(biāo)文件的命令。例如,可以使用以下規(guī)則來生成目標(biāo)文件 foo.o
%.o: %.c
command
  1. 偽目標(biāo)規(guī)則(Phony Rule):定義一個(gè)不對(duì)應(yīng)任何實(shí)際文件的目標(biāo),用于執(zhí)行一些特定的動(dòng)作。例如:
.PHONY: target
target:
command
  1. 文件搜索路徑規(guī)則(VPATH Rule):指定搜索依賴文件時(shí)的搜索路徑。例如:
VPATH = src include
  1. 模式規(guī)則(Pattern Rule):類似于隱式規(guī)則,可以根據(jù)文件名的模式匹配來生成目標(biāo)文件。例如:
%.o: %.c
command
  1. 條件規(guī)則(Conditional Rule):根據(jù)條件來決定是否執(zhí)行某個(gè)規(guī)則。例如:
ifeq ($(condition),true)
target: dependencies
command
endif
  1. 函數(shù)規(guī)則(Function Rule):使用Makefile中提供的函數(shù)來生成目標(biāo)文件的命令。例如:
target: $(function arguments)
command

以上是一些常見的Makefile編寫規(guī)則,它們可以幫助我們定義和控制程序的編譯和構(gòu)建過程。

0