我試圖創建一個Makefile,將下載和處理文件的文件生成的目標,這是一個簡化的版本:GNU使重載包括但不更新目標
default: all
.PHONY: all clean filelist.d
clean:
@rm -fv *.date *.d
#The actual list comes from a FTP file, but let's simplify things a bit
filelist.d:
@echo "Getting updated filelist..."
@echo "LIST=$(shell date +\%M)1.date $(shell date +\%M)2.date" > [email protected]
@echo 'all: $$(LIST)' >> [email protected]
%.date:
touch [email protected]
-include filelist.d
不幸的是目標所有這些在第一次運行時都沒有正確更新,需要再次運行才能獲取文件。這是輸出我從它那裏得到:我使用的GNU讓3.81,其文檔指出重新加載整個事情,如果包含的文件得到改變
$ make
Getting updated filelist...
make: Nothing to be done for `default'.
$ make
Getting updated filelist...
touch 141.date
touch 142.date
touch 143.date
。出了什麼問題?
謝謝,雖然有一個問題,因爲我不知道什麼時候ftp服務器將要更新,所以我需要在每次運行時重新創建filelist.d,但至少我明白髮生了什麼。 – user459723 2010-09-27 17:23:27
@ user459723:這是怎麼回事? – 2010-09-27 20:18:46
完美的作品,謝謝! – user459723 2010-09-28 09:45:58