From 36d25063828f65a6e864bc56b488bef3c4abcaa4 Mon Sep 17 00:00:00 2001 From: Chris Luke Date: Thu, 22 Sep 2016 20:52:26 -0400 Subject: Enable doc building on MacOS Simple tweak to the Makefiles to allow "make doxygen" to work natively on Macs - assuming the appropriate things have been installed first, which it tests for. Change-Id: I1a3e72759d533270a0512de38595c3bc3f71dee0 Signed-off-by: Chris Luke --- doxygen/Makefile | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'doxygen/Makefile') diff --git a/doxygen/Makefile b/doxygen/Makefile index 97225f3c..7031e84d 100644 --- a/doxygen/Makefile +++ b/doxygen/Makefile @@ -23,11 +23,20 @@ all: doxygen # These should be passed in by the root Makefile WS_ROOT ?= $(CURDIR)/.. BR ?= $(WS_ROOT)/build-root + +# We support MacOS for docs generation +ifeq ($(shell uname),Darwin) +OS_ID = darwin +endif + +# Work out the OS if we haven't already OS_ID ?= $(shell grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') # Package dependencies DOC_DEB_DEPENDS = doxygen graphviz python-pyparsing python-jinja2 DOC_RPM_DEPENDS = doxygen graphviz pyparsing python-jinja2 +DOC_MAC_BIN_DEPENDS = doxygen dot git +DOC_MAC_PY_DEPENDS = pyparsing jinja2 # Doxygen configuration and our utility scripts DOXY_DIR ?= $(WS_ROOT)/doxygen @@ -130,8 +139,23 @@ ifeq ($(OS_ID),ubuntu) fi else ifneq ("$(wildcard /etc/redhat-release)","") @sudo yum install $(CONFIRM) $(DOC_RPM_DEPENDS) +else ifeq ($(OS_ID),darwin) + @set -e; \ + for bin in $(DOC_MAC_BIN_DEPENDS); do \ + which -s $${bin} || (\ + echo "Program '$${bin}' not found, please install it."; \ + false; \ + ); \ + done + @set -e; \ + for py in $(DOC_MAC_PY_DEPENDS); do \ + python -c "import $${py}" >/dev/null 2>&1 || (\ + echo "Python package '$${py}' not found, please install it."; \ + false; \ + ); \ + done else - $(error "This option currently works only on Ubuntu or Centos systems") + $(error "Building documentation currently works only on Ubuntu, CentOS or MacOS systems.") endif @touch $@ -- cgit 1.2.3-korg