Makefile文件是用来管理和自动化程序编译的工具,其中包含了一些规则和指令来告诉系统如何编译和链接程序。在Ubuntu系统中,通常会遵循以下一些常见的规则:
CC = gcc
CFLAGS = -Wall -O2
main.o: main.c
$(CC) $(CFLAGS) -c -o $@ $<
这里的规则表示将main.c编译成main.o文件,使用gcc编译器和指定的编译选项。
myprogram: main.o utils.o
$(CC) $(CFLAGS) -o $@ $^
这里的规则表示将main.o和utils.o链接成myprogram可执行文件。
.PHONY: clean
clean:
rm -f *.o myprogram
这里定义了一个伪目标clean,用来删除所有的.o文件和最终生成的可执行文件。
总的来说,在Ubuntu系统中的Makefile文件会包含一些变量、编译规则、目标规则和伪目标规则,用来管理和自动化程序的编译过程。