2014年4月11日 星期五

[Linux] .PHONY 使用方式

.PHONY 被稱之偽目標,主要功能有二

  • 避免文件名稱相同衝突
    •  Makefile
    • test:
          gcc test.c -o test

    •  當資料夾下已經有 test檔案,在執行make test,則會發生
    • make: `test' is up to date   

    • add .PHONY tag to Makefile 
    • .PHONY: test
      test:
          gcc test.c -o test

  •  加速make速度,以平行化處理
    • Folder Tree


    • Makefile 
      SUBDIRS = ftp http
      net_service:
              @for dir in $(SUBDIRS); do \
                      make -C $$dir; \
              done

    • add .PHONY tag to Makefile ( 若要make的source是獨立的,則可加入.PHONY來加速 )
    • SUBDIRS = ftp http
      .PHONY: $(SUBDIRS)
      net_service:
              @for dir in $(SUBDIRS); do \
                      make -C $$dir; \
              done

Reference:
[1] 跟我一起寫Makefile:書寫規則
[2] Makefile Built-in Targets: .PHONY

沒有留言:

張貼留言