Makefile为文件夹中的每个文件执行脚本
问题描述:
我想为每个.sh文件执行将.sh脚本转换为.md文件的shell脚本。 目前我接到的makefileMakefile为文件夹中的每个文件执行脚本
'./myscript' < testB.sh testA.sh >> testB.md testA.md
此输出,但我想这样
'./myscript' <testA.sh>> testA.md; './shelltomd' <testB.sh>> testB.md
我想这样做没有任何形式的循环,但我不知道如何与解决这样的输出仅生成文件:/
我的Makefile
SH_FILES=$(wildcard *.sh)
SHTOMD=$(SH_FILES:.sh=.md)
md:
'./myscript' <$< $(SH_FILES) >>$< $(SHTOMD)
谢谢你您的帮助stackoverflow社区和sry为我的英语不好:D
答
您需要编写一个知道如何将一个.sh
文件转换为一个.md
文件的规则。您可以使用一个pattern rule:
%.md : %.sh
'./myscript' < $< > [email protected]
(我怀疑你想使用>>
这里)
一旦你教做出如何创建.MD文件,只需告诉它的md你想要的文件创建:
SH_FILES := $(wildcard *.sh)
MD_FILES := $(SH_FILES:.sh=.md)
md: $(MD_FILES)
你就完成了。
thx即解决方案:D – Taito