一個常見的做法是在makefile中定義多個目標,每個目標對應一個可執行文件。例如:
all: program1 program2
program1: program1.o
gcc -o program1 program1.o
program2: program2.o
gcc -o program2 program2.o
program1.o: program1.c
gcc -c program1.c
program2.o: program2.c
gcc -c program2.c
clean:
rm -f program1 program2 *.o
在這個makefile中,all
是默認的目標,執行make
命令時會編譯所有的目標。如果只想編譯其中一個目標,可以使用make program1
或者make program2
命令。clean
目標用于清除生成的可執行文件和目標文件。
通過這種方式,可以方便地管理多個目標文件,確保每個目標文件的編譯規則和依賴關系都得到正確處理。