3.1 一个Makefile所包含的内容

一、一个Makefile的内容

假设我们有一个简单的Makefile用于编译C程序。下面是一个示例:

# 变量定义
CC = gcc
CFLAGS = -Wall -g

# 显式规则
main: main.o func.o
    $(CC) $(CFLAGS) -o main main.o func.o

# 隐式规则
%.o: %.c
    $(CC) $(CFLAGS) -c $< -o $@

# 指令
clean:
    rm -f main *.o

# 注释
# 这是一个简单的Makefile,用于编译C程序

在上述示例中,我们可以看到以下五种内容:文章来源地址https://uudwc.com/A/ABkAV

  1. 变量定义:定义了CCCFLAGS两个变量,分别表示编译器和编译选项。
  2. 显式规则:定义了一个显式规则,指定了如何生成main目标文件。它依赖于main.ofunc.o这两个先决条件。当执行make main命令时,会执行相应的命令将目标文件生成或更新。
  3. 隐式规则:定义了一个隐式规则,描述了如何根据.c文件生成对应的.o目标文件。例如,当执行make main.o命令时,会自动根据main.c文件生成main.o文件。
  4. 指令:定义了一个名为clean的指令,用于清理生成的目标文件和中间文件。当执行make clean命令时,会执行相应的命令删除

原文地址:https://blog.csdn.net/MrWangHao/article/details/132116307

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年08月05日 11:25
下一篇 2023年08月05日 11:26