Makefile 是一个用来管理项目中源代码编译的文件,通常在 UNIX 和类 UNIX 系统中使用。它包含了一组规则,这些规则告诉 make 工具如何根据源代码文件来构建目标文件以及最终的可执行文件。
一个简单的 Makefile 包含了以下几个部分:
- 变量定义: 可以定义一些变量,例如编译器名称、编译选项等。
- 目标与依赖关系: 定义了要构建的目标文件以及这些目标文件所依赖的源文件或其他目标文件。
- 规则: 每个规则包含了构建目标文件的命令。
- 注释: 可以使用
#
开头的行来添加注释,提高代码可读性。
Make file 模板
# Default target when `make` is run without arguments.
.DEFAULT_GOAL := help
width=10
# Generate a list of available commands and their descriptions by parsing the Makefile.
help:
@echo "命令:"
@grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%${width}s\033[0m: %s\n", $$1, $$2}'
@echo ""
dev: ## dev
@cargo run
build: ## build
@cargo build
clean: ## 清零缓存文件
@rm -rf node_modules
@rm -rf dist
@cargo clean
# Special targets that are not files:
.PHONY: help
Makefile 比较古老,也是被广泛的支持的一种构建方式。也有其他不错的方式