Patrick Williams | 0be05ee | 2016-12-09 14:30:45 -0600 | [diff] [blame^] | 1 | #!/bin/sh |
| 2 | |
| 3 | toplevel_dirs=xyz |
| 4 | interfaces=`find $toplevel_dirs -name "*.interface.yaml"` |
| 5 | |
| 6 | for i in ${interfaces}; |
| 7 | do |
| 8 | iface_path=`dirname $i`/`basename $i .interface.yaml` |
| 9 | iface=`echo $iface_path | sed 's/\//./g'` |
| 10 | cat <<MAKEFILE |
| 11 | |
| 12 | ${i%.interface.yaml}/server.cpp: ${i} ${i%.interface.yaml}/server.hpp |
| 13 | @mkdir -p \`dirname \$@\` |
| 14 | sdbus++ -r \$(srcdir) interface server-cpp ${iface} > \$@ |
| 15 | |
| 16 | ${i%.interface.yaml}/server.hpp: ${i} |
| 17 | @mkdir -p \`dirname \$@\` |
| 18 | sdbus++ -r \$(srcdir) interface server-header ${iface} > \$@ |
| 19 | |
| 20 | MAKEFILE |
| 21 | |
| 22 | done |
| 23 | |
| 24 | echo "libphosphor_dbus_cpp_SOURCES = \\" |
| 25 | for i in ${interfaces}; |
| 26 | do |
| 27 | echo " ${i%.interface.yaml}/server.cpp \\" |
| 28 | done |
| 29 | echo |
| 30 | |
| 31 | echo "libphosphor_dbus_hpp_SOURCES = \\" |
| 32 | for i in ${interfaces}; |
| 33 | do |
| 34 | echo " ${i%.interface.yaml}/server.hpp \\" |
| 35 | done |
| 36 | echo |
| 37 | |
| 38 | cat << MAKEFILE |
| 39 | libphosphor_dbus.cpp: \$(libphosphor_dbus_cpp_SOURCES) |
| 40 | cat \$^ > \$@ |
| 41 | |
| 42 | nobase_include_HEADERS = \$(libphosphor_dbus_hpp_SOURCES) |
| 43 | |
| 44 | .PHONY: clean-dbus |
| 45 | clean-dbus: |
| 46 | for i in \$(libphosphor_dbus_cpp_SOURCES) \\ |
| 47 | \$(libphosphor_dbus_hpp_SOURCES); \\ |
| 48 | do \\ |
| 49 | test -e \$\$i && rm \$\$i ; \\ |
| 50 | test -d \`dirname \$\$i\` && rmdir -p \`dirname \$\$i\` ; \\ |
| 51 | true; \\ |
| 52 | done |
| 53 | MAKEFILE |