.PHONY:clean
XX=g++
exe=dididididididididi
obj=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.o
test.o:test.cpp test.h
$(XX) -c test.cpp -o test.o
clean:
rm -f *.o $(exe)
linux 一個超簡單的makefile
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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.