Remove the use of (foreach ...) in doc/jbuild

This commit is contained in:
Jeremie Dimino 2017-06-02 18:25:20 +01:00
parent a7446ec7d3
commit 9eb215055e
2 changed files with 110 additions and 19 deletions

View File

@ -22,10 +22,29 @@ all-supported-ocaml-versions:
$(BIN) build @install @runtest --workspace jbuild-workspace.dev --root .
clean:
-$(BIN) clean
-rm -f ./boot.exe
$(BIN) clean
rm -f ./boot.exe
doc:
cd doc && sphinx-build . _build
CMDS = $(shell $(BIN) --help=plain | \
sed -n '/COMMANDS/,/OPTIONS/p' | sed -En 's/^ ([a-z-]+)/\1/p')
update-jbuilds: $(BIN)
sed -n '1,/;;GENERATED/p' doc/jbuild > doc/jbuild.tmp
{ for cmd in $(CMDS); do \
echo -ne "\n"\
"(rule\n"\
" ((targets (jbuilder-$$cmd.1))\n"\
" (action (with-stdout-to $$""{@}\n"\
" (run $$""{bin:jbuilder} $$cmd --help=groff)))))\n"\
"\n"\
"(install\n"\
" ((section man)\n"\
" (files (jbuilder-$$cmd.1))))\n"; \
done } >> doc/jbuild.tmp
rm -f doc/jbuild
mv doc/jbuild.tmp doc/jbuild
.PHONY: default install uninstall reinstall clean test doc

View File

@ -9,23 +9,95 @@
((section man)
(files (jbuilder.1))))
(foreach ${cmd}
(build
external-lib-deps
install
installed-libraries
runtest
clean
uninstall
exec
subst
rules)
;; Run "make update-jbuilds" to update the rest of this file
;;GENERATED
(rule
((targets (jbuilder-${cmd}.1))
(rule
((targets (jbuilder-build.1))
(action (with-stdout-to ${@}
(run ${bin:jbuilder} ${cmd} --help=groff)))))
(run ${bin:jbuilder} build --help=groff)))))
(install
((section man)
(files (jbuilder-${cmd}.1)))))
(install
((section man)
(files (jbuilder-build.1))))
(rule
((targets (jbuilder-clean.1))
(action (with-stdout-to ${@}
(run ${bin:jbuilder} clean --help=groff)))))
(install
((section man)
(files (jbuilder-clean.1))))
(rule
((targets (jbuilder-exec.1))
(action (with-stdout-to ${@}
(run ${bin:jbuilder} exec --help=groff)))))
(install
((section man)
(files (jbuilder-exec.1))))
(rule
((targets (jbuilder-external-lib-deps.1))
(action (with-stdout-to ${@}
(run ${bin:jbuilder} external-lib-deps --help=groff)))))
(install
((section man)
(files (jbuilder-external-lib-deps.1))))
(rule
((targets (jbuilder-install.1))
(action (with-stdout-to ${@}
(run ${bin:jbuilder} install --help=groff)))))
(install
((section man)
(files (jbuilder-install.1))))
(rule
((targets (jbuilder-installed-libraries.1))
(action (with-stdout-to ${@}
(run ${bin:jbuilder} installed-libraries --help=groff)))))
(install
((section man)
(files (jbuilder-installed-libraries.1))))
(rule
((targets (jbuilder-rules.1))
(action (with-stdout-to ${@}
(run ${bin:jbuilder} rules --help=groff)))))
(install
((section man)
(files (jbuilder-rules.1))))
(rule
((targets (jbuilder-runtest.1))
(action (with-stdout-to ${@}
(run ${bin:jbuilder} runtest --help=groff)))))
(install
((section man)
(files (jbuilder-runtest.1))))
(rule
((targets (jbuilder-subst.1))
(action (with-stdout-to ${@}
(run ${bin:jbuilder} subst --help=groff)))))
(install
((section man)
(files (jbuilder-subst.1))))
(rule
((targets (jbuilder-uninstall.1))
(action (with-stdout-to ${@}
(run ${bin:jbuilder} uninstall --help=groff)))))
(install
((section man)
(files (jbuilder-uninstall.1))))