diff options
author | Chris Luke <chrisy@flirble.org> | 2016-09-22 20:52:26 -0400 |
---|---|---|
committer | Damjan Marion <dmarion.lists@gmail.com> | 2016-09-23 07:52:28 +0000 |
commit | 36d25063828f65a6e864bc56b488bef3c4abcaa4 (patch) | |
tree | 2b98ad600a6eaf33eb74d5424b24f8b08d8e4d17 | |
parent | b1136586a094f867f9bf2f3d76af2694026c78c8 (diff) |
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 <chrisy@flirble.org>
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | doxygen/Makefile | 26 |
2 files changed, 28 insertions, 1 deletions
@@ -24,8 +24,11 @@ GDB_ARGS= -ex "handle SIGUSR1 noprint nostop" # # OS Detection # +# We allow Darwin (MacOS) for docs generation; VPP build will still fail. +ifneq ($(shell uname),Darwin) OS_ID = $(shell grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') OS_VERSION_ID= $(shell grep '^VERSION_ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') +endif DEB_DEPENDS = curl build-essential autoconf automake bison libssl-dev ccache DEB_DEPENDS += debhelper dkms git libtool libganglia1-dev libapr1-dev dh-systemd 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 $@ |