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

  .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)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章