1*66e7aa38SMatt Spinler#!/bin/sh 2*66e7aa38SMatt Spinler 3*66e7aa38SMatt Spinlercd $1 4*66e7aa38SMatt Spinler 5*66e7aa38SMatt Spinlertoplevel_dirs=com 6*66e7aa38SMatt Spinlerinterfaces=`find $toplevel_dirs -name "*.interface.yaml"` 7*66e7aa38SMatt Spinler 8*66e7aa38SMatt Spinlerfor i in ${interfaces}; 9*66e7aa38SMatt Spinlerdo 10*66e7aa38SMatt Spinler iface_path=`dirname $i`/`basename $i .interface.yaml` 11*66e7aa38SMatt Spinler iface=`echo $iface_path | sed 's/\//./g'` 12*66e7aa38SMatt Spinler cat <<MAKEFILE 13*66e7aa38SMatt Spinler 14*66e7aa38SMatt Spinler${i%.interface.yaml}/server.cpp: ${i} ${i%.interface.yaml}/server.hpp 15*66e7aa38SMatt Spinler @mkdir -p \`dirname \$@\` 16*66e7aa38SMatt Spinler \$(SDBUSPLUSPLUS) -r \$(srcdir) interface server-cpp ${iface} > \$@ 17*66e7aa38SMatt Spinler 18*66e7aa38SMatt Spinler${i%.interface.yaml}/server.hpp: ${i} 19*66e7aa38SMatt Spinler @mkdir -p \`dirname \$@\` 20*66e7aa38SMatt Spinler \$(SDBUSPLUSPLUS) -r \$(srcdir) interface server-header ${iface} > \$@ 21*66e7aa38SMatt Spinler 22*66e7aa38SMatt SpinlerMAKEFILE 23*66e7aa38SMatt Spinler 24*66e7aa38SMatt Spinlerdone 25*66e7aa38SMatt Spinler 26*66e7aa38SMatt Spinlererrors=`find $toplevel_dirs -name "*.errors.yaml"` 27*66e7aa38SMatt Spinler 28*66e7aa38SMatt Spinlerfor e in ${errors}; 29*66e7aa38SMatt Spinlerdo 30*66e7aa38SMatt Spinler iface_path=`dirname $e`/`basename $e .errors.yaml` 31*66e7aa38SMatt Spinler iface=`echo $iface_path | sed 's/\//./g'` 32*66e7aa38SMatt Spinler cat <<MAKEFILE 33*66e7aa38SMatt Spinler 34*66e7aa38SMatt Spinler${e%.errors.yaml}/error.cpp: ${e} ${e%.errors.yaml}/error.hpp 35*66e7aa38SMatt Spinler @mkdir -p \`dirname \$@\` 36*66e7aa38SMatt Spinler \$(SDBUSPLUSPLUS) -r \$(srcdir) error exception-cpp ${iface} > \$@ 37*66e7aa38SMatt Spinler 38*66e7aa38SMatt Spinler${e%.errors.yaml}/error.hpp: ${e} 39*66e7aa38SMatt Spinler @mkdir -p \`dirname \$@\` 40*66e7aa38SMatt Spinler \$(SDBUSPLUSPLUS) -r \$(srcdir) error exception-header ${iface} > \$@ 41*66e7aa38SMatt Spinler 42*66e7aa38SMatt SpinlerMAKEFILE 43*66e7aa38SMatt Spinler 44*66e7aa38SMatt Spinlerdone 45*66e7aa38SMatt Spinler 46*66e7aa38SMatt Spinlerecho "libibm_dbus_cpp_SOURCES = \\" 47*66e7aa38SMatt Spinlerfor i in ${interfaces}; 48*66e7aa38SMatt Spinlerdo 49*66e7aa38SMatt Spinler echo " ${i%.interface.yaml}/server.cpp \\" 50*66e7aa38SMatt Spinlerdone 51*66e7aa38SMatt Spinlerfor e in ${errors}; 52*66e7aa38SMatt Spinlerdo 53*66e7aa38SMatt Spinler echo " ${e%.errors.yaml}/error.cpp \\" 54*66e7aa38SMatt Spinlerdone 55*66e7aa38SMatt Spinlerecho 56*66e7aa38SMatt Spinler 57*66e7aa38SMatt Spinlerecho "libibm_dbus_hpp_SOURCES = \\" 58*66e7aa38SMatt Spinlerfor i in ${interfaces}; 59*66e7aa38SMatt Spinlerdo 60*66e7aa38SMatt Spinler echo " ${i%.interface.yaml}/server.hpp \\" 61*66e7aa38SMatt Spinlerdone 62*66e7aa38SMatt Spinlerfor e in ${errors}; 63*66e7aa38SMatt Spinlerdo 64*66e7aa38SMatt Spinler echo " ${e%.errors.yaml}/error.hpp\\" 65*66e7aa38SMatt Spinlerdone 66*66e7aa38SMatt Spinler 67*66e7aa38SMatt Spinlerecho 68*66e7aa38SMatt Spinler 69*66e7aa38SMatt Spinlercat << MAKEFILE 70*66e7aa38SMatt Spinlerlibibm_dbus.cpp: \$(libibm_dbus_cpp_SOURCES) 71*66e7aa38SMatt Spinler cat \$^ > \$@ 72*66e7aa38SMatt Spinler 73*66e7aa38SMatt Spinlernobase_include_HEADERS = \$(libibm_dbus_hpp_SOURCES) 74*66e7aa38SMatt Spinler 75*66e7aa38SMatt Spinler.PHONY: clean-dbus 76*66e7aa38SMatt Spinlerclean-dbus: 77*66e7aa38SMatt Spinler for i in \$(libibm_dbus_cpp_SOURCES) \\ 78*66e7aa38SMatt Spinler \$(libibm_dbus_hpp_SOURCES); \\ 79*66e7aa38SMatt Spinler do \\ 80*66e7aa38SMatt Spinler test -e \$\$i && rm \$\$i ; \\ 81*66e7aa38SMatt Spinler test -d \`dirname \$\$i\` && rm -rf \`dirname \$\$i\` ; \\ 82*66e7aa38SMatt Spinler true; \\ 83*66e7aa38SMatt Spinler done 84*66e7aa38SMatt SpinlerMAKEFILE 85