91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Linux Makefile中的目標如何指定

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

在 Linux 的 Makefile 中,目標是要生成的文件或執行的操作

  1. 顯式規則:這是最常用的方法,用于指定一個或多個目標文件及其依賴關系。語法如下:
target: prerequisites
[TAB] recipe
  • target 是要生成的文件。
  • prerequisites 是生成目標所需的輸入文件。
  • recipe 是生成目標所需的命令(操作)。注意,命令前面需要有一個制表符(TAB)。

例如,以下 Makefile 指定了一個名為 my_program 的目標,它依賴于 main.cutil.c 兩個源文件:

my_program: main.c util.c
    gcc -o my_program main.c util.c
  1. 隱式規則:這種方法允許你使用預定義的規則,而無需顯式指定目標、依賴關系和操作。隱式規則基于文件的擴展名(如 .c、.o 等)自動應用。例如,以下 Makefile 將自動應用隱式規則來編譯和鏈接 C 程序:
CC = gcc
CFLAGS = -Wall
OBJFILES = main.o util.o

my_program: $(OBJFILES)
    $(CC) $(CFLAGS) -o my_program $(OBJFILES)
  1. 模式規則:這種方法允許你定義一組通用規則,以便根據特定模式生成目標。語法如下:
target_pattern: prerequisite_pattern
[TAB] recipe

例如,以下 Makefile 使用模式規則將所有 .c 文件編譯為 .o 文件:

CC = gcc
CFLAGS = -Wall

%.o: %.c
    $(CC) $(CFLAGS) -c $< -o $@
  1. 偽目標:這些目標不代表實際的文件,而是表示一組操作。偽目標通常用于執行特定任務,如清理、安裝等。要將目標聲明為偽目標,需要在 Makefile 開頭添加 .PHONY 聲明:
.PHONY: clean

clean:
    rm -f *.o my_program

在這個例子中,clean 是一個偽目標,它刪除所有 .o 文件和名為 my_program 的可執行文件。

總之,Makefile 中的目標可以通過顯式規則、隱式規則、模式規則和偽目標來指定。根據項目的需求和復雜性,可以選擇合適的方法來定義目標。

0
榆树市| 伊金霍洛旗| 浠水县| 平凉市| 民乐县| 四川省| 东阳市| 拉萨市| 嵊州市| 洪泽县| 白玉县| 萝北县| 巩义市| 汽车| 阜新市| 新乡县| 台南县| 新沂市| 云梦县| 内江市| 龙山县| 保康县| 福州市| 抚远县| 静乐县| 伊吾县| 清水县| 西平县| 昭平县| 昆明市| 合川市| 新郑市| 马公市| 巨野县| 保康县| 胶州市| 保德县| 大方县| 嘉荫县| 潢川县| 敦化市|