簡體   English   中英

Makefile始終運行目標

[英]Makefile always running target

我可能會錯過這個Makefile非常明顯的東西:

convert: devel/bar
  touch convert

init: devel/foo
  echo 'init'

devel/foo:
  mkdir -p devel
  touch devel/foo

devel/bar: init
  touch devel/bar

當我運行它時,始終會調用devel/bar目標。 我希望它能調用convert ,檢查文件devel/bar ,並僅在找不到該文件時調用該目標。 如果我刪除它對init依賴,一切都按照我的預期工作。 我究竟做錯了什么?

您沒有創建名為init的文件,因此init始終是過時的。 因此,依賴它的一切都是過時的。

可能沒有名為init文件? 所以它試圖更新devel/bar (因為它依賴於init )。

考慮使用.PHONY

暫無
暫無

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

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