0
假設我有以下文件:生成文件選擇的先決條件
.: include/ 01.src 02.src 03.src Makefile
./include: 01.inc 02-source1.inc 02-source2.inc
對此我有以下的Makefile(來源:Complex pattern rule in Makefile):
exe = ${patsubst %.src, %.exe, ${wildcard *.src}}
all : ${exe}
.SECONDEXPANSION:
${exe} : %.exe : %.src $${wildcard include/%*.inc}
@echo compile [email protected] using $^
這是說01.exe
將被編譯使用01.src
和include/01*.inc
(類似於02.exe
和03.exe
)。事實上,使輸出:
compile 01.exe using 01.src include/01.inc
compile 02.exe using 02.src include/02-source1.inc include/02-source2.inc
compile 03.exe using 03.src
我的問題是:我應該如何修改這個Makefile如果01.src
,02.src
和03.src
重命名爲01-first.src
,02-second.src
和03-third.src
?所需的輸出是:
compile 01-first.exe using 01-first.src include/01.inc
compile 02-second.exe using 02-second.src include/02-source1.inc include/02-source2.inc
compile 03-third.exe using 03-third.src
是別人強加那猙獰的命名約定你嗎? – Beta
是的。雖然該項目有點大,但我願意接受建議;) – vagoberto
**要小心表明你比你的老闆更聰明。**遵守強加給你的規則,但看看你可以做出什麼樣的改進安全。例如,如果您爲源文件創建符號鏈接(具有合理的名稱),那麼makefile將會更簡單。 – Beta