我想为每个.sh文件执行一个将.sh脚本转换为.md文件的shell脚本。 目前我从makefile
获得了这个输出'./myscript' < testB.sh testA.sh >> testB.md testA.md
但我想要这样的输出
'./myscript' < testA.sh >> testA.md; './shelltomd' < testB.sh >> testB.md
我想在没有任何形式的循环的情况下这样做,但我不知道如何用makefile解决这个问题:/
我的Makefile
SH_FILES=$(wildcard *.sh)
SHTOMD=$(SH_FILES:.sh=.md)
md:
'./myscript' <$< $(SH_FILES) >>$< $(SHTOMD)
感谢您帮助stackoverflow社区并为我糟糕的英语而烦恼:D
答案 0 :(得分:0)
您需要编写一条知道如何将一个.sh
文件转换为一个.md
文件的规则。您可以使用pattern rule:
%.md : %.sh
'./myscript' < $< > $@
(我怀疑你想在这里使用>>
)
一旦你教会了如何创建.md文件,只需告诉它你想要创建哪些md文件:
SH_FILES := $(wildcard *.sh)
MD_FILES := $(SH_FILES:.sh=.md)
md: $(MD_FILES)
你已经完成了。