Run sdbus++ error

Generate error bindings and add these to the library.

Resolves openbmc/openbmc#839

Change-Id: I055663b94114752a4c299ffc41037d1a845ef783
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/generate_makefile.sh b/generate_makefile.sh
index 4c103f3..ba986cc 100755
--- a/generate_makefile.sh
+++ b/generate_makefile.sh
@@ -23,11 +23,35 @@
 
 done
 
+errors=`find $toplevel_dirs -name "*.errors.yaml"`
+
+for e in ${errors};
+do
+    iface_path=`dirname $e`/`basename $e .errors.yaml`
+    iface=`echo $iface_path | sed 's/\//./g'`
+    cat <<MAKEFILE
+
+${e%.errors.yaml}/error.cpp: ${e} ${e%.errors.yaml}/error.hpp
+	@mkdir -p \`dirname \$@\`
+	\$(SDBUSPLUSPLUS) -r \$(srcdir) error exception-cpp ${iface} > \$@
+
+${e%.errors.yaml}/error.hpp: ${e}
+	@mkdir -p \`dirname \$@\`
+	\$(SDBUSPLUSPLUS) -r \$(srcdir) error exception-header ${iface} > \$@
+
+MAKEFILE
+
+done
+
 echo "libphosphor_dbus_cpp_SOURCES = \\"
 for i in ${interfaces};
 do
     echo "	${i%.interface.yaml}/server.cpp \\"
 done
+for e in ${errors};
+do
+    echo "	${e%.errors.yaml}/error.cpp \\"
+done
 echo
 
 echo "libphosphor_dbus_hpp_SOURCES = \\"
@@ -35,6 +59,11 @@
 do
     echo "	${i%.interface.yaml}/server.hpp \\"
 done
+for e in ${errors};
+do
+    echo "	${e%.errors.yaml}/error.hpp\\"
+done
+
 echo
 
 cat << MAKEFILE