MAKEFILE 冒号:替换文件后缀的方法

source := $(wildcard *.p4)
outfile := $(source:.p4=.json)

这里的原来的source 代表的所有p4 src 代码文件,被替换为.json 结尾的文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Makefile文件是一种文本文件,用于定义和管理软件项目的编译和构建过程。它包含了一系列规则和指令,用于告诉构建工具如何编译源代码、链接库文件以及生成可执行文件等。 下面是一个简单的Makefile文件的示例: ```makefile # 定义变量 CC = gcc CFLAGS = -Wall -g # 定义目标及其依赖关系和指令 myprogram: main.o func1.o func2.o $(CC) $(CFLAGS) -o myprogram main.o func1.o func2.o main.o: main.c $(CC) $(CFLAGS) -c main.c func1.o: func1.c $(CC) $(CFLAGS) -c func1.c func2.o: func2.c $(CC) $(CFLAGS) -c func2.c # 定义伪目标和指令 .PHONY: clean clean: rm -f myprogram *.o ``` Makefile文件由多个规则构成,每个规则包含目标、依赖关系和指令。以下是对Makefile文件中常见的语法元素的解析: - 变量定义:使用 `变量名 = 值` 的形式定义变量。在示例中,`CC` 定义了编译器命令,`CFLAGS` 定义了编译选项。 - 目标规则:目标规则指定了生成的目标文件及其依赖关系。示例中,`myprogram` 是最终生成的可执行文件,依赖于 `main.o`、`func1.o` 和 `func2.o` 这三个目标文件。 - 依赖规则:依赖规则指定了目标文件所依赖的源代码文件,并定义了生成目标文件的指令。示例中,`main.o` 依赖于 `main.c`,并使用指令 `$(CC) $(CFLAGS) -c main.c` 进行编译。 - 伪目标规则:伪目标规则指定了一些特殊的目标,如示例中的 `.PHONY: clean`。伪目标不代表真实的文件,而是定义了一系列指令,用于执行一些特定操作,如清理生成的文件等。 - 指令:每个规则中都包含了一组指令,用于构建目标文件。指令前面需要使用制表符或者多个空格进行缩进。 通过运行 `make` 命令,构建工具会读取Makefile文件并根据规则执行相应的操作,从而实现源代码的编译和构建过程。例如,在示例中运行 `make myprogram` 将会编译源代码并生成可执行文件 `myprogram`。运行 `make clean` 可以执行清理操作,删除生成的文件。 这只是一个简单的Makefile示例,实际项目中的Makefile可能更复杂,包含更多的规则和指令来管理更复杂的构建过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值