在
001中,編寫了第一個Makefile,發現其實就是寫好編譯的順序,然後用make來幫忙執行。有看了一部份
教程發現make的功能還挺強大的。現在用變量和自動推導來改寫第一個Makefile
myobjs = main.o a.o
test: $(myobjs)
gcc -o test.exe $(myobjs)
main.o: a.h
.PHONY: clean
clean:
del test.exe $(myobjs)
學習:
1. myobjs 是一個變量用來記錄 main.o 和 a.o
2. 因為推導關係只要make看到一個*.o的文件,必然會自動推導出 gcc -c *.o;在這個例子中看見了main.o 必然會推導出gcc -c main.o,看見了a.o 自然會推導出gcc -c a.o。所以我就不用謝那麼多了。
3. .PHONY表示隱晦規則,說明clean是一個偽目標,教程說後面再詳解。所以這裡也不想那麼多。
4. 注意命令前面要有Tab鍵,因為日誌會自動去除我打的TAB鍵,因此如果從日誌上複製下來,必須手工加上。