簡體   English   中英

是什么意思。 (點)在 makefile 中的目標之前

[英]what is the meaning for . (dot) before the target in makefile

在制作文件中,我找到了如下所示的代碼片段。 create_file 和 run_debug 之間有什么區別嗎? 我的意思是使用 . (點)在 create_file 引入任何像 PHONY 這樣的功能之前?

all:debug run_debug
setup: .create_file

.create_file:
      cd /home/user1
      touch file.txt

 run_debug:
      @echo Building debug
      cd /home/user1/debug

據我所知,它只有一個目的(在這個makefile中,makefile結構可以避免這個目的)。

如何make進程成為Makefile

默認情況下, make從第一個目標開始(而不是名稱以'.'開頭的目標)。 這稱為默認目標

所以領先. 表示make不會將該目標視為有效的默認目標。

但是,正如所寫的那樣, all目標都是這個makefile中的第一個目標,因此這將是默認目標,因此這里的前導點實際上並沒有做任何事情。

也就是說,所有三個setuprun_debug.create_file目標都應該標記為.PHONY並且可能有更好的寫入/等等方式。

除了默認目標使用之外,我還發現目標以. 不顯示在自動完成中,即輸入make + Tab

所以我在不適合最終用戶的目標前面加上.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM