2019獨角獸企業重金招聘Python工程師標準>>>
makefile 自動化變量:
?
$@ : 規則的目標文件名
?例如:main:main.o test.o
???????????????????g++ -Wall -g? main.o test.o -o?main?
?可以寫成:
?????????? main:main.o test.o
???????????????????g++ -Wall -g? main.o test.o -o?$@?
?
$< :?規則的第一個依賴文件名
??例如:main.o: main.cpp?
???????????????????g++ -Wall -g -c?main.cpp?-o main.o
??可以寫成:
???????????? main.o: main.cpp?
???????????????????g++ -Wall -g -c?$<?-o main.o
?
$^ : 規則的所有依賴文件列表。
? 例如:test.o:test.cpp test.h
????????????????????g++ -Wall -g -c?test.cpp test.h?-o test.o
??可以寫成:
?????????????test.o:test.cpp test.h
????????????????????g++ -Wall -g -c?$^?-o test.o
?
?//程序文件包括main.cpp test.cpp test.h
.PHONY:cleanXX=g++exe=dididididididididiobj=main.o test.o$(exe):$(obj)$(XX) -pthread -Wall -g -o $(exe) $(obj)main.o:main.cpp test.h$(XX) -c main.cpp -o main.otest.o:test.cpp test.h$(XX) -c test.cpp -o test.oclean:rm -f *.o $(exe)
?