build: autotools files for libphosphor_dbus.so

Use the interface YAML files present to generate the server.cpp
and server.hpp files, build them into a shared library, and
install.

Change-Id: Ib08704c399975f42aa77f911a7bc7dc33bacba99
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/generate_makefile.sh b/generate_makefile.sh
new file mode 100755
index 0000000..e0f0511
--- /dev/null
+++ b/generate_makefile.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+toplevel_dirs=xyz
+interfaces=`find $toplevel_dirs -name "*.interface.yaml"`
+
+for i in ${interfaces};
+do
+    iface_path=`dirname $i`/`basename $i .interface.yaml`
+    iface=`echo $iface_path | sed 's/\//./g'`
+    cat <<MAKEFILE
+
+${i%.interface.yaml}/server.cpp: ${i} ${i%.interface.yaml}/server.hpp
+	@mkdir -p \`dirname \$@\`
+	sdbus++ -r \$(srcdir) interface server-cpp ${iface} > \$@
+
+${i%.interface.yaml}/server.hpp: ${i}
+	@mkdir -p \`dirname \$@\`
+	sdbus++ -r \$(srcdir) interface server-header ${iface} > \$@
+
+MAKEFILE
+
+done
+
+echo "libphosphor_dbus_cpp_SOURCES = \\"
+for i in ${interfaces};
+do
+    echo "	${i%.interface.yaml}/server.cpp \\"
+done
+echo
+
+echo "libphosphor_dbus_hpp_SOURCES = \\"
+for i in ${interfaces};
+do
+    echo "	${i%.interface.yaml}/server.hpp \\"
+done
+echo
+
+cat << MAKEFILE
+libphosphor_dbus.cpp: \$(libphosphor_dbus_cpp_SOURCES)
+	cat \$^ > \$@
+
+nobase_include_HEADERS = \$(libphosphor_dbus_hpp_SOURCES)
+
+.PHONY: clean-dbus
+clean-dbus:
+	for i in \$(libphosphor_dbus_cpp_SOURCES) \\
+	         \$(libphosphor_dbus_hpp_SOURCES); \\
+	do \\
+	    test -e \$\$i && rm \$\$i ; \\
+	    test -d \`dirname \$\$i\` && rmdir -p \`dirname \$\$i\` ; \\
+	    true; \\
+	done
+MAKEFILE