blob: e0f05112ba4aa0a59ef788c9b3c2302ae6c9bff6 [file] [log] [blame]
Patrick Williams0be05ee2016-12-09 14:30:45 -06001#!/bin/sh
2
3toplevel_dirs=xyz
4interfaces=`find $toplevel_dirs -name "*.interface.yaml"`
5
6for i in ${interfaces};
7do
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
20MAKEFILE
21
22done
23
24echo "libphosphor_dbus_cpp_SOURCES = \\"
25for i in ${interfaces};
26do
27 echo " ${i%.interface.yaml}/server.cpp \\"
28done
29echo
30
31echo "libphosphor_dbus_hpp_SOURCES = \\"
32for i in ${interfaces};
33do
34 echo " ${i%.interface.yaml}/server.hpp \\"
35done
36echo
37
38cat << MAKEFILE
39libphosphor_dbus.cpp: \$(libphosphor_dbus_cpp_SOURCES)
40 cat \$^ > \$@
41
42nobase_include_HEADERS = \$(libphosphor_dbus_hpp_SOURCES)
43
44.PHONY: clean-dbus
45clean-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
53MAKEFILE