Make使用¶
一个简单的Makefile例子:
CC=gcc
CFLAGS=-Wall
all: program
program: main.o func1.o func2.o
$(CC) $(CFLAGS) -o program 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
clean:
rm -f *.o program
这个Makefile指定了一个叫做program的可执行文件的构建规则。它由三个源文件main.c、func1.c和func2.c组成。
CC和CFLAGS是Makefile的变量,分别指定编译器和编译选项。all是一个伪目标,用于指定默认的构建目标。
program目标依赖于main.o、func1.o和func2.o三个目标。make将检查每个目标是否需要重新构建,如果需要,它会运行指定的命令来生成目标文件。最终,program目标将通过链接这三个目标文件来生成可执行文件。
clean是一个伪目标,用于删除所有生成的目标文件和可执行文件。