+ if [ -e 03-args.mk ] ; then make -f 03-args.mk clean; fi
+ rm -f _03-args_client.c _03-args_server.c _03-args_simulator.c 03-args.trace 03-args.mk
+
+# Lesson 4: callbacks
+########################################
+
+04-callback.output: 04-callback_client 04-callback_server 04-callback_simulator
+ echo '$$ ./test_server 23451 & ./test_client 127.0.0.1 23451' > $@
+ ./04-callback_server 23451 >> $@ 2>&1&
+ ./04-callback_client 127.0.0.1 23451 >> $@ 2>&1
+ sleep 1
+ echo '$$' >> $@
+ echo '$$ ./test_simulator platform.xml test.xml' >> $@
+ ./04-callback_simulator gtut-platform.xml 03-args.xml >> $@ 2>&1
+ echo '$$' >> $@
+ killall 04-callback_server 04-callback_client 2>/dev/null || true
+
+04-callback_client 04-callback_server 04-callback_simulator: _04-callback_client.c _04-callback_server.c _04-callback_simulator.c
+ make -f 04-callback.mk
+
+_04-callback_client.c _04-callback_server.c _04-callback_simulator.c: 04-callback.c 03-args.xml
+ ../../tools/gras/gras_stub_generator 04-callback 03-args.xml >/dev/null
+
+clean::
+ if [ -e 04-callback.mk ] ; then make -f 04-callback.mk clean; fi
+ rm -f _04-callback_client.c _04-callback_server.c _04-callback_simulator.c 04-callback.trace 04-callback.mk
+
+# Lesson 5: globals
+########################################
+
+05-globals.output: 05-globals_client 05-globals_server 05-globals_simulator
+ echo '$$ ./test_server 12345 & ./test_client 127.0.0.1 12345' > $@
+ ./05-globals_server 12345 >> $@ 2>&1&
+ ./05-globals_client 127.0.0.1 12345 >> $@ 2>&1
+ sleep 1
+ echo '$$' >> $@
+ echo '$$ ./test_simulator platform.xml test.xml' >> $@
+ ./05-globals_simulator gtut-platform.xml 03-args.xml >> $@ 2>&1
+ echo '$$' >> $@
+ killall 05-globals_server 05-globals_client 2>/dev/null || true
+
+05-globals_client 05-globals_server 05-globals_simulator: _05-globals_client.c _05-globals_server.c _05-globals_simulator.c
+ make -f 05-globals.mk
+
+_05-globals_client.c _05-globals_server.c _05-globals_simulator.c: 05-globals.c 03-args.xml
+ ../../tools/gras/gras_stub_generator 05-globals 03-args.xml >/dev/null
+
+clean::
+ if [ -e 05-globals.mk ] ; then make -f 05-globals.mk clean; fi
+ rm -f _05-globals_client.c _05-globals_server.c _05-globals_simulator.c 05-globals.trace 05-globals.mk
+
+# Lesson 6: logs
+########################################
+
+06-logs.output: 06-logs_client 06-logs_server 06-logs_simulator 06-logs.output.verbose 06-logs.output.error
+ echo '$$ ./test_server 12345 & ./test_client 127.0.0.1 12345' > $@
+ ./06-logs_server 12345 2>&1 |sed s/06-logs/test/ >> $@ 2>&1&
+ ./06-logs_client 127.0.0.1 12345 2>&1 |sed s/06-logs/test/ >> $@ 2>&1
+ sleep 1
+ echo '$$' >> $@
+ echo '$$ ./test_simulator platform.xml test.xml' >> $@
+ ./06-logs_simulator gtut-platform.xml 03-args.xml 2>&1 |sed s/06-logs/test/ >> $@ 2>&1
+ echo '$$' >> $@
+ killall 06-logs_server 06-logs_client 2>/dev/null || true
+
+06-logs.output.verbose: 06-logs_client 06-logs_server 06-logs_simulator
+ echo '$$ ./test_server 12345 --gras-log=test.thres=verbose & ./test_client 127.0.0.1 12345 --gras-log=test.thres=verbose' > $@
+ ./06-logs_server 12345 --gras-log=test.thres=verbose 2>&1 |sed s/06-logs/test/ >> $@ 2>&1&
+ ./06-logs_client 127.0.0.1 12345 --gras-log=test.thres=verbose 2>&1 |sed s/06-logs/test/ >> $@ 2>&1
+ sleep 1
+ echo '$$' >> $@
+ echo '$$ ./test_simulator platform.xml test.xml --gras-log=test.thres=verbose' >> $@
+ ./06-logs_simulator gtut-platform.xml 03-args.xml --gras-log=test.thres=verbose 2>&1 |sed s/06-logs/test/ >> $@ 2>&1
+ echo '$$' >> $@
+ killall 06-logs_server 06-logs_client 2>/dev/null || true
+
+06-logs.output.error: 06-logs_client 06-logs_server 06-logs_simulator
+ echo '$$ ./test_server 12345 --gras-log=root.thres=error & ./test_client 127.0.0.1 12345 --gras-log=root.thres=error' > $@
+ ./06-logs_server 12345 --gras-log=root.thres=error 2>&1 |sed s/06-logs/test/ >> $@ 2>&1&
+ ./06-logs_client 127.0.0.1 12345 --gras-log=root.thres=error 2>&1 |sed s/06-logs/test/ >> $@ 2>&1
+ sleep 1
+ echo '$$' >> $@
+ echo '$$ ./test_simulator platform.xml test.xml --gras-log=root.thres=error' >> $@
+ ./06-logs_simulator gtut-platform.xml 03-args.xml --gras-log=root.thres=error 2>&1 |sed s/06-logs/test/ >> $@ 2>&1
+ echo '$$' >> $@
+ killall 06-logs_server 06-logs_client 2>/dev/null || true
+
+
+06-logs_client 06-logs_server 06-logs_simulator: _06-logs_client.c _06-logs_server.c _06-logs_simulator.c
+ make -f 06-logs.mk
+
+_06-logs_client.c _06-logs_server.c _06-logs_simulator.c: 06-logs.c 03-args.xml
+ ../../tools/gras/gras_stub_generator 06-logs 03-args.xml >/dev/null
+
+clean::
+ if [ -e 06-logs.mk ] ; then make -f 06-logs.mk clean; fi
+ rm -f _06-logs_client.c _06-logs_server.c _06-logs_simulator.c 06-logs.trace 06-logs.mk
+
+
+# Lesson 7: timers
+########################################
+
+07-timers.output: 07-timers_client 07-timers_server 07-timers_simulator
+ echo '$$ ./test_server 12345 & ./test_client 127.0.0.1 12345' > $@
+ ./07-timers_server 12345 2>&1 |sed s/07-timers/test/ >> $@ 2>&1&
+ ./07-timers_client 127.0.0.1 12345 2>&1 |sed s/07-timers/test/ >> $@ 2>&1
+ sleep 1
+ echo '$$' >> $@
+ echo '$$ ./test_simulator platform.xml test.xml' >> $@
+ ./07-timers_simulator gtut-platform.xml 03-args.xml 2>&1 |sed s/07-timers/test/ >> $@ 2>&1
+ echo '$$' >> $@
+ killall 07-timers_server 07-timers_client 2>/dev/null || true
+
+07-timers_client 07-timers_server 07-timers_simulator: _07-timers_client.c _07-timers_server.c _07-timers_simulator.c
+ make -f 07-timers.mk
+
+_07-timers_client.c _07-timers_server.c _07-timers_simulator.c: 07-timers.c 03-args.xml
+ ../../tools/gras/gras_stub_generator 07-timers 03-args.xml >/dev/null
+
+clean::
+ if [ -e 07-timers.mk ] ; then make -f 07-timers.mk clean; fi
+ rm -f _07-timers_client.c _07-timers_server.c _07-timers_simulator.c 07-timers.trace 07-timers.mk
+
+# Lesson 8: exceptions
+########################################
+
+08-exceptions.output: 08-exceptions_client 08-exceptions_server 08-exceptions_simulator
+ echo '$$ ./test_server & ./test_client 127.0.0.1 ' > $@
+ ./08-exceptions_server 2>&1 |sed s/08-exceptions/test/ >> $@ 2>&1&
+ ./08-exceptions_client 127.0.0.1 2>&1 |sed s/08-exceptions/test/ >> $@ 2>&1
+ sleep 1
+ echo '$$' >> $@
+ echo '$$ ./test_server --cheat & ./test_client 127.0.0.1 ' >> $@
+ ./08-exceptions_server --cheat 2>&1 |sed s/08-exceptions/test/ >> $@ 2>&1&
+ ./08-exceptions_client 127.0.0.1 2>&1 |sed s/08-exceptions/test/ >> $@ 2>&1
+ sleep 1
+ echo '$$ killall test_server' >> $@
+ killall 08-exceptions_server 08-exceptions_client 2>/dev/null || true
+ echo '$$' >> $@
+ echo '$$ ./test_simulator platform.xml test.xml' >> $@
+ ./08-exceptions_simulator gtut-platform.xml 03-args.xml 2>&1 |sed s/08-exceptions/test/ >> $@ 2>&1
+ echo '$$' >> $@
+
+08-exceptions_client 08-exceptions_server 08-exceptions_simulator: _08-exceptions_client.c _08-exceptions_server.c _08-exceptions_simulator.c
+ make -f 08-exceptions.mk
+
+_08-exceptions_client.c _08-exceptions_server.c _08-exceptions_simulator.c: 08-exceptions.c 03-args.xml
+ ../../tools/gras/gras_stub_generator 08-exceptions 03-args.xml >/dev/null
+
+# Lesson 9: simple data exchange
+########################################
+09-datatype-dump: 09-datatype-dump.c
+ gcc -I$(GRAS_ROOT)/include -lgras -L$(GRAS_ROOT)/lib $^ -o $@
+
+clean::
+ rm -f 09-datatype-dump.o 09-datatype-dump
+
+09-simpledata.output: 09-simpledata_client 09-simpledata_server 09-simpledata_simulator
+ echo '$$ ./test_server 12345 & ./test_client 127.0.0.1 12345' > $@
+ ./09-simpledata_server 12345 2>&1 |sed s/09-simpledata/test/ >> $@ 2>&1&
+ ./09-simpledata_client 127.0.0.1 12345 2>&1 |sed s/09-simpledata/test/ >> $@ 2>&1
+ sleep 1
+ echo '$$' >> $@
+ echo '$$ ./test_simulator platform.xml test.xml' >> $@
+ ./09-simpledata_simulator gtut-platform.xml 03-args.xml 2>&1 |sed s/09-simpledata/test/ >> $@ 2>&1
+ echo '$$' >> $@
+ killall 09-simpledata_server 09-simpledata_client 2>/dev/null || true
+
+09-simpledata_client 09-simpledata_server 09-simpledata_simulator: _09-simpledata_client.c _09-simpledata_server.c _09-simpledata_simulator.c
+ make -f 09-simpledata.mk
+
+_09-simpledata_client.c _09-simpledata_server.c _09-simpledata_simulator.c: 09-simpledata.c 03-args.xml
+ ../../tools/gras/gras_stub_generator 09-simpledata 03-args.xml >/dev/null
+
+clean::
+ if [ -e 09-simpledata.mk ] ; then make -f 09-simpledata.mk clean; fi
+ rm -f _09-simpledata_client.c _09-simpledata_server.c _09-simpledata_simulator.c 09-simpledata.trace 09-simpledata.mk
+
+# Lesson 10: RPC
+########################################
+10-rpc.output: 10-rpc_client 10-rpc_server 10-rpc_simulator
+ echo '$$ ./test_server & ./test_client 127.0.0.1 ' > $@
+ ./10-rpc_server 12345 2>&1 |sed s/10-rpc/test/ >> $@ 2>&1&
+ ./10-rpc_client 127.0.0.1 12345 2>&1 |sed s/10-rpc/test/ >> $@ 2>&1
+ sleep 1
+ echo '$$' >> $@
+ echo '$$ killall test_server' >> $@
+ killall 10-rpc_server 10-rpc_client 2>/dev/null || true
+ echo '$$' >> $@
+ echo '$$ ./test_simulator platform.xml test.xml' >> $@
+ ./10-rpc_simulator gtut-platform.xml 03-args.xml 2>&1 |sed s/10-rpc/test/ >> $@ 2>&1
+ echo '$$' >> $@
+
+10-rpc_client 10-rpc_server 10-rpc_simulator: _10-rpc_client.c _10-rpc_server.c _10-rpc_simulator.c
+ make -f 10-rpc.mk
+
+_10-rpc_client.c _10-rpc_server.c _10-rpc_simulator.c: 10-rpc.c 03-args.xml
+ ../../tools/gras/gras_stub_generator 10-rpc 03-args.xml >/dev/null
+
+clean::
+ if [ -e 10-rpc.mk ] ; then make -f 10-rpc.mk clean; fi
+ rm -f _10-rpc_client.c _10-rpc_server.c _10-rpc_simulator.c 10-rpc.trace 10-rpc.mk
+