| #!/bin/sh |
| |
| yaml_top=$1 |
| toplevel_dirs=xyz |
| interfaces= |
| |
| if [ -d "$yaml_top/$toplevel_dirs" ]; then |
| cd "$yaml_top" || exit 1 |
| interfaces=$(find $toplevel_dirs -name "*.interface.yaml") |
| fi |
| |
| 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: \$(extra_yamldir)/${i} ${i%.interface.yaml}/server.hpp |
| @mkdir -p \`dirname \$@\` |
| \$(AM_V_GEN)\$(SDBUSPLUSPLUS) -r \$(extra_yamldir) interface server-cpp ${iface} > \$@ |
| |
| ${i%.interface.yaml}/server.hpp: \$(extra_yamldir)/${i} |
| @mkdir -p \`dirname \$@\` |
| \$(AM_V_GEN)\$(SDBUSPLUSPLUS) -r \$(extra_yamldir) interface server-header ${iface} > \$@ |
| |
| MAKEFILE |
| |
| done |
| |
| echo "extra_ifaces_cpp_SOURCES = \\" |
| for i in ${interfaces}; |
| do |
| echo " ${i%.interface.yaml}/server.cpp \\" |
| done |
| echo |
| |
| echo "extra_ifaces_hpp_SOURCES = \\" |
| for i in ${interfaces}; |
| do |
| echo " ${i%.interface.yaml}/server.hpp \\" |
| done |
| echo |
| |
| echo "extra_ifaces.cpp: \$(extra_ifaces_cpp_SOURCES)" |
| if [ "$interfaces" ]; then |
| echo " \$(AM_V_GEN)cat \$^ > \$@" |
| else |
| echo " \$(AM_V_GEN)touch \$@" |
| fi |
| |
| cat << MAKEFILE |
| |
| .PHONY: clean-extra |
| clean-extra: |
| for i in \$(extra_ifaces_cpp_SOURCES) \\ |
| \$(extra_ifaces_hpp_SOURCES); \\ |
| do \\ |
| test -e \$\$i && rm \$\$i ; \\ |
| test -d \`dirname \$\$i\` && rmdir -p \`dirname \$\$i\` ; \\ |
| true; \\ |
| done |
| MAKEFILE |