diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2016-12-09 14:30:45 -0600 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2017-01-18 09:40:31 -0600 |
commit | 0be05ee21426bdb5e77337560e99324d0a2f3301 (patch) | |
tree | 147eb69babc84fcb8d6ea322d9c4038a8f6e4aea /generate_makefile.sh | |
parent | 6d51435b5239d970d8265256c4b1a66b838f3b58 (diff) | |
download | phosphor-dbus-interfaces-0be05ee21426bdb5e77337560e99324d0a2f3301.tar.gz phosphor-dbus-interfaces-0be05ee21426bdb5e77337560e99324d0a2f3301.zip |
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>
Diffstat (limited to 'generate_makefile.sh')
-rwxr-xr-x | generate_makefile.sh | 53 |
1 files changed, 53 insertions, 0 deletions
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 |