VPP-221 Loosen Doxygen CLI command struct parser

Make the struct parser slighty slightly more accomodating of
whitespace in places it has no business being.

Also add missing OS_ID thing to Doxygen makefile.

Change-Id: Id3d198fd926f7a6c2ed40bc2d08907aad5d5ac33
Signed-off-by: Chris Luke <chrisy@flirble.org>
diff --git a/Makefile b/Makefile
index 5808a33..f218cb0 100644
--- a/Makefile
+++ b/Makefile
@@ -242,7 +242,7 @@
 export DOXY_DIR ?= $(WS_ROOT)/doxygen
 
 define make-doxy
-	@WS_ROOT="$(WS_ROOT)" BR="$(BR)" make -C $(DOXY_DIR) $@
+	@OS_ID="$(OS_ID)" WS_ROOT="$(WS_ROOT)" BR="$(BR)" make -C $(DOXY_DIR) $@
 endef
 
 .PHONY: bootstrap-doxygen doxygen wipe-doxygen
diff --git a/doxygen/Makefile b/doxygen/Makefile
index 7bdc8ee..8e91652 100644
--- a/doxygen/Makefile
+++ b/doxygen/Makefile
@@ -19,6 +19,7 @@
 # These should be passed in by the root Makefile
 WS_ROOT ?= $(CURDIR)/..
 BR ?= $(WS_ROOT)/build-root
+OS_ID ?= $(shell grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g')
 
 # Package dependencies
 DOC_DEB_DEPENDS = doxygen graphviz python-pyparsing
diff --git a/doxygen/siphon_process.py b/doxygen/siphon_process.py
index 80add4b..82a166d 100755
--- a/doxygen/siphon_process.py
+++ b/doxygen/siphon_process.py
@@ -181,7 +181,7 @@
     expr = (literal | var) # TODO
 
 
-    member = pp.Combine(dot + varName + pp.Optional("[" + arrayIndex + "]"))
+    member = pp.Combine(dot + varName + pp.Optional("[" + arrayIndex + "]"), adjacent=False)
     value = (expr | cs)
 
     entry = pp.Group(pp.Optional(member + equals, default="") + value)