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文件會包含一些變量、編譯規則、目標規則和偽目標規則,用來管理和自動化程序的編譯過程。