[英]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
從第一個目標開始(而不是名稱以'.'
開頭的目標)。 這稱為默認目標 。
所以領先.
表示make不會將該目標視為有效的默認目標。
但是,正如所寫的那樣, all
目標都是這個makefile中的第一個目標,因此這將是默認目標,因此這里的前導點實際上並沒有做任何事情。
也就是說,所有三個setup
, run_debug
和.create_file
目標都應該標記為.PHONY
並且可能有更好的寫入/等等方式。
除了默認目標使用之外,我還發現目標以.
不顯示在自動完成中,即輸入make
+ Tab
所以我在不適合最終用戶的目標前面加上.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.