溫馨提示×

Linux Makefile中的規則如何編寫

小樊
98
2024-09-03 11:49:56
欄目: 智能運維

在Linux Makefile中,規則是用于指定如何生成目標文件(target)的一組命令

  1. 目標(Target):規則的目標是要生成的文件。通常,這是一個可執行文件、庫文件或者其他類型的輸出文件。

  2. 依賴(Dependencies):規則的依賴是生成目標所需的輸入文件。這些文件可以是源代碼文件、頭文件、其他生成的文件等。

  3. 命令(Commands):規則的命令是用于生成目標的一系列shell命令。每個命令都應該以制表符(Tab)開頭。

下面是一個簡單的Makefile示例,用于編譯一個C程序:

# 定義編譯器和編譯選項
CC = gcc
CFLAGS = -Wall -g

# 定義目標文件和依賴文件
TARGET = my_program
OBJS = main.o utils.o

# 默認規則,用于生成目標文件
all: $(TARGET)

# 規則:生成目標文件
$(TARGET): $(OBJS)
    $(CC) $(CFLAGS) -o $@ $^

# 規則:生成.o文件
%.o: %.c
    $(CC) $(CFLAGS) -c $< -o $@

# 清理規則,用于刪除生成的文件
clean:
    rm -f $(TARGET) $(OBJS)

在這個示例中,我們定義了一個名為my_program的目標文件,它依賴于main.outils.o兩個.o文件。我們還定義了一個默認規則all,用于生成目標文件。此外,我們還定義了一個用于生成.o文件的模式規則,以及一個用于清理生成文件的規則。

要使用這個Makefile,只需將其保存為Makefilemakefile,然后在命令行中運行make命令。這將根據Makefile中的規則生成目標文件。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女