Makefile是一种编译控制文件,广泛用于项目的自动化构建。它定义了一系列的规则来指导构建的过程。通过Makefile,开发者可以轻松管理大型项目的编译链接、清理等任务。
Makefile的基本结构
一个最简单的Makefile包含规则,规则由目标(target)、依赖(dependencies)和命令(commands)三部分组成:
target: dependencies
commands
命令前的Tab键是必须的。下面是一个简单的示例:
hello: hello.c
gcc -o hello hello.c
变量的使用
在Makefile中声明变量可以使得我们的代码更加简洁。
CC=gcc
CFLAGS=-std=c99
LDFLAGS=
OBJ=main.o utils.o
app: $(OBJ)
$(CC) -o app $(OBJ) $(LDFLAGS)
main.o: main.c
$(CC) $(CFLAGS) -c main.c
utils.o: utils.c utils.h
$(CC) $(CFLAGS) -c utils.c
|