我正在尝试man
使用make自动在我的项目中构建页面。
我有以下目录结构:
my_project
man/
man1/
man3/
man5/
man7/
在每个目录中,都有一个或多个.md
文件。
我想在相应的页面更新时生成*.1
,,*.3
...,页面man/man{1,3,5,7}/*.md
。
我的相关部分Makefile
是:
MY_DOC := $(wildcard $(MY_PROJECT)/man/*/*.md)
all: $(MY_DOC:%.md=%.1)
%.1 %.3 %.5 %.7 : %.md
@ronn --roff $?
以上是建立.1
网页如预期,但是.3
,.5
并.7
始终。
我可以看到$(MY_DOC:%.md=%.1)
被更换所有.md
有.1
这是一个问题,但我不知道如何改变这意味着1,3,5或7取决于父目录。
我能够按预期构建手册页,并且仍然使用替换语法。
MY_DOC := $(MY_PROJECT)/man
MAN1 := $(wildcard $(MY_DOC)/man1/*.md)
MAN3 := $(wildcard $(MY_DOC)/man3/*.md)
MAN5 := $(wildcard $(MY_DOC)/man5/*.md)
MAN7 := $(wildcard $(MY_DOC)/man7/*.md)
all: $(MAN1:%.md=%.1) $(MAN3:%.md=%.3) $(MAN5:%.md=%.5) $(MAN7:%.md=%.7)
%.1 %.3 %.5 %.7 : %.md
@ronn --roff $?
我认为必须有一种更简单的方法来实现这一目标,但这是我能想到的最好的方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句