1
例如,給定當前目錄中的文件列表,如何將這些文件複製到另一個目錄中。如何複製文件並保留gnu makefiles中的結構?
dest_dir := /usr/bin/test
.PHONY: install
install: $(dest_dir)
#there files are in current directory
xpi_built := install.rdf \
chrome.manifest \
$(wildcard content/*.js) \
$(wildcard content/*.xul) \
$(wildcard content/*.xml) \
$(wildcard content/*.css) \
$(wildcard skin/*.css) \
$(wildcard skin/*.png) \
$(wildcard locale/*/*.dtd) \
$(wildcard locale/*/*.properties)
#how to copy there files to another directory
$(dest_dir)/% : $(xpi_built)
@mkdir -p $(dest_dir)
@cp $< [email protected]
如何將文件列表複製到目標目錄?
CP -R不能保存的目錄結構。 – Jichao
@Jichao:你是對的,我的錯誤,我會編輯。我也在研究一個變體,只有在實際需要複製的情況下才能複製文件(即,如果它們尚未被複制或已過時),但很難做到簡單。 – Beta
你可以添加一個虛擬目標/文件來跟蹤它。也就是說,使用'$(dest_dir)/。copyfiles:$(xpi_built)',最後的規則是'touch $ @'。 '$(dest_dir)/.copyfiles'文件將會有一個日期,所以只有當其中一個內置文件更新時纔會更新它。另外,如果你使用$(dest_dir),它會重新運行。 – John