2011-08-02 47 views
2

我有一個make文件,負責拷貝文件的文件夾,從A到B.夾makefile文件無法檢測到缺少必備文件

這裏我簡單的makefile來描述我遇到的問題。 例如:

all: a.txt b.txt 

%.txt: test/%.txt 
     cp -a $< [email protected] 

當調用make命令:

make 

它複製2個txt文件。

在那之後,我刪除A.TXT在測試文件夾,然後運行make再次

rm test/a.txt 
make 

我想作將檢測不可用的先決條件,但它的輸出:

make: Nothing to be done for `all'. 

我怎麼能有錯誤輸出對於這種情況?

謝謝!!

回答

2

您正在使用模式規則,如果先決條件不可用,Make會忽略它。試試這個:

TEXTS := a.txt b.txt 

all: $(TEXTS) 

$(TEXTS): % : test/% 
     cp -a $< [email protected] 
+0

謝謝!我終於意識到這是靜態模式規則:-) – SILENCE