-_ping_client.c _ping_server.c _ping_simulator.c: $(srcdir)/ping_deployment.txt $(srcdir)/../gras_stub_generator
- $(srcdir)/../gras_stub_generator ping ping_deployment.txt >/dev/null
+NAME=ping
+PROCESSES= client server
+
+$(foreach proc, $(PROCESSES), _$(NAME)_$(proc).c) _ping_simulator.c: $(srcdir)/ping_deployment.xml ../../../tools/gras/gras_stub_generator@EXEEXT@
+ [ x@EXEEXT@ = x ] || exenv=wine; $$exenv ../../../tools/gras/gras_stub_generator@EXEEXT@ ping $(srcdir)/ping_deployment.xml >/dev/null