Makefile: move dep-check code to check-depends.sh

Make it possible to run the dependency check without the Makefile. This
is needed to split up the manual pages into the projects repositories,
so we can call check-depends.sh from there.

Related: OS#3385
Change-Id: I82a7efd7e9c265c82d1ba8a60856c892a15a7a33
This commit is contained in:
Oliver Smith 2018-11-12 13:42:11 +01:00
parent 161365fa6f
commit e4f2811296
2 changed files with 31 additions and 17 deletions

View File

@ -72,21 +72,5 @@ check:
cd OsmocomBB; $(MAKE) check
cd OsmoTRX; $(MAKE) check
define check_dep_bin
@type $(1) >/dev/null 2>&1 || { echo >&2 "Binary '$(1)' not found in path, please install $(2)."; exit 1; }
endef
define check_dep_python2_module
@echo "import $(1)" | python2 - >/dev/null 2>&1 || { echo >&2 "Failed to import '$(1)' module, please install $(2)."; exit 1; }
endef
check-deps:
$(call check_dep_bin,mscgen,mscgen)
$(call check_dep_bin,xsltproc,libxslt)
$(call check_dep_bin,git,git)
$(call check_dep_bin,a2x,asciidoc)
$(call check_dep_bin,asciidoc,asciidoc)
$(call check_dep_bin,dblatex,dblatex)
$(call check_dep_bin,packetdiag,nwdiag)
$(call check_dep_bin,dot,graphviz)
$(call check_dep_bin,python2,python2)
$(call check_dep_python2_module,pychart,python2-pychart)
./check-depends.sh

30
check-depends.sh Executable file
View File

@ -0,0 +1,30 @@
#!/bin/sh
# $1: program name, $2: package name
check_dep_bin() {
if ! type "$1" >/dev/null 2>&1; then
echo "Binary '$1' not found in path, please install $2."
exit 1
fi
}
# $1: module name, $2: package name
check_dep_python2_module() {
if ! echo "import $1" | python2 - >/dev/null 2>&1; then
echo "Failed to import '$1' module, please install $2."
exit 1
fi
}
check_dep_bin mscgen mscgen
check_dep_bin xsltproc libxslt
check_dep_bin git git
check_dep_bin a2x asciidoc
check_dep_bin asciidoc asciidoc
check_dep_bin dblatex dblatex
check_dep_bin packetdiag nwdiag
check_dep_bin dot graphviz
check_dep_bin python2 python2
check_dep_python2_module pychart python2-pychart
echo "All dependencies installed!"