1 # This works mainly on my box for now
2 export LD_LIBRARY_PATH=$(GRAS_ROOT)/lib
4 all: 1-bones.output 2-simple.output 3-args.output 4-callback.output \
5 5-globals.output 6-logs.output 7-timers.output 8-exceptions.output \
11 # Lesson 1: simple bones of project
12 ########################################
14 1-bones.output: 1-bones_client 1-bones_server 1-bones_simulator
15 echo '$$ ./test_client' > $@
16 ./1-bones_client >> $@ 2>&1
17 echo '$$ ./test_server' >> $@
18 ./1-bones_server >> $@ 2>&1
20 echo '$$ ./test_simulator platform.xml test.xml' >> $@
21 ./1-bones_simulator gtut-platform.xml test.xml >> $@ 2>&1
24 1-bones_client 1-bones_server 1-bones_simulator: _1-bones_client.c _1-bones_server.c _1-bones_simulator.c
27 _1-bones_client.c _1-bones_server.c _1-bones_simulator.c: 1-bones.c test.xml
28 ../../tools/gras/gras_stub_generator 1-bones test.xml >/dev/null
31 if [ -e 1-bones.mk ] ; then make -f 1-bones.mk clean; fi
32 rm -f _1-bones_client.c _1-bones_server.c _1-bones_simulator.c 1-bones.trace 1-bones.mk
34 # Lesson 2: simple message exchange
35 ########################################
37 2-simple.output: 2-simple_client 2-simple_server 2-simple_simulator
38 echo '$$ ./test_simulator platform.xml test.xml' > $@
39 ./2-simple_simulator gtut-platform.xml test.xml >> $@ 2>&1
42 2-simple_client 2-simple_server 2-simple_simulator: _2-simple_client.c _2-simple_server.c _2-simple_simulator.c
45 _2-simple_client.c _2-simple_server.c _2-simple_simulator.c: 2-simple.c test.xml
46 ../../tools/gras/gras_stub_generator 2-simple test.xml >/dev/null
49 if [ -e 2-simple.mk ] ; then make -f 2-simple.mk clean; fi
50 rm -f _2-simple_client.c _2-simple_server.c _2-simple_simulator.c 2-simple.trace 2-simple.mk
52 # Lesson 3: passing args to processes
53 ########################################
55 3-args.output: 3-args_client 3-args_server 3-args_simulator
56 echo '$$ ./test_server 12345 & ./test_client 127.0.0.1 12345' > $@
57 ./3-args_server 12345 >> $@ 2>&1&
58 ./3-args_client 127.0.0.1 12345 >> $@ 2>&1
61 echo '$$ ./test_simulator platform.xml test.xml' >> $@
62 ./3-args_simulator gtut-platform.xml 3-args.xml >> $@ 2>&1
64 killall 3-args_server 3-args_client 2>/dev/null || true
66 3-args_client 3-args_server 3-args_simulator: _3-args_client.c _3-args_server.c _3-args_simulator.c
69 _3-args_client.c _3-args_server.c _3-args_simulator.c: 3-args.c 3-args.xml
70 ../../tools/gras/gras_stub_generator 3-args 3-args.xml >/dev/null
73 if [ -e 3-args.mk ] ; then make -f 3-args.mk clean; fi
74 rm -f _3-args_client.c _3-args_server.c _3-args_simulator.c 3-args.trace 3-args.mk
77 ########################################
79 4-callback.output: 4-callback_client 4-callback_server 4-callback_simulator
80 echo '$$ ./test_server 23451 & ./test_client 127.0.0.1 23451' > $@
81 ./4-callback_server 23451 >> $@ 2>&1&
82 ./4-callback_client 127.0.0.1 23451 >> $@ 2>&1
85 echo '$$ ./test_simulator platform.xml test.xml' >> $@
86 ./4-callback_simulator gtut-platform.xml 3-args.xml >> $@ 2>&1
88 killall 4-callback_server 4-callback_client 2>/dev/null || true
90 4-callback_client 4-callback_server 4-callback_simulator: _4-callback_client.c _4-callback_server.c _4-callback_simulator.c
93 _4-callback_client.c _4-callback_server.c _4-callback_simulator.c: 4-callback.c 3-args.xml
94 ../../tools/gras/gras_stub_generator 4-callback 3-args.xml >/dev/null
97 if [ -e 4-callback.mk ] ; then make -f 4-callback.mk clean; fi
98 rm -f _4-callback_client.c _4-callback_server.c _4-callback_simulator.c 4-callback.trace 4-callback.mk
101 ########################################
103 5-globals.output: 5-globals_client 5-globals_server 5-globals_simulator
104 echo '$$ ./test_server 12345 & ./test_client 127.0.0.1 12345' > $@
105 ./5-globals_server 12345 >> $@ 2>&1&
106 ./5-globals_client 127.0.0.1 12345 >> $@ 2>&1
109 echo '$$ ./test_simulator platform.xml test.xml' >> $@
110 ./5-globals_simulator gtut-platform.xml 3-args.xml >> $@ 2>&1
112 killall 5-globals_server 5-globals_client 2>/dev/null || true
114 5-globals_client 5-globals_server 5-globals_simulator: _5-globals_client.c _5-globals_server.c _5-globals_simulator.c
117 _5-globals_client.c _5-globals_server.c _5-globals_simulator.c: 5-globals.c 3-args.xml
118 ../../tools/gras/gras_stub_generator 5-globals 3-args.xml >/dev/null
121 if [ -e 5-globals.mk ] ; then make -f 5-globals.mk clean; fi
122 rm -f _5-globals_client.c _5-globals_server.c _5-globals_simulator.c 5-globals.trace 5-globals.mk
125 ########################################
127 6-logs.output: 6-logs_client 6-logs_server 6-logs_simulator 6-logs.output.verbose 6-logs.output.error
128 echo '$$ ./test_server 12345 & ./test_client 127.0.0.1 12345' > $@
129 ./6-logs_server 12345 2>&1 |sed s/6-logs/test/ >> $@ 2>&1&
130 ./6-logs_client 127.0.0.1 12345 2>&1 |sed s/6-logs/test/ >> $@ 2>&1
133 echo '$$ ./test_simulator platform.xml test.xml' >> $@
134 ./6-logs_simulator gtut-platform.xml 3-args.xml 2>&1 |sed s/6-logs/test/ >> $@ 2>&1
136 killall 6-logs_server 6-logs_client 2>/dev/null || true
138 6-logs.output.verbose: 6-logs_client 6-logs_server 6-logs_simulator
139 echo '$$ ./test_server 12345 --gras-log=test.thres=verbose & ./test_client 127.0.0.1 12345 --gras-log=test.thres=verbose' > $@
140 ./6-logs_server 12345 --gras-log=test.thres=verbose 2>&1 |sed s/6-logs/test/ >> $@ 2>&1&
141 ./6-logs_client 127.0.0.1 12345 --gras-log=test.thres=verbose 2>&1 |sed s/6-logs/test/ >> $@ 2>&1
144 echo '$$ ./test_simulator platform.xml test.xml --gras-log=test.thres=verbose' >> $@
145 ./6-logs_simulator gtut-platform.xml 3-args.xml --gras-log=test.thres=verbose 2>&1 |sed s/6-logs/test/ >> $@ 2>&1
147 killall 6-logs_server 6-logs_client 2>/dev/null || true
149 6-logs.output.error: 6-logs_client 6-logs_server 6-logs_simulator
150 echo '$$ ./test_server 12345 --gras-log=root.thres=error & ./test_client 127.0.0.1 12345 --gras-log=root.thres=error' > $@
151 ./6-logs_server 12345 --gras-log=root.thres=error 2>&1 |sed s/6-logs/test/ >> $@ 2>&1&
152 ./6-logs_client 127.0.0.1 12345 --gras-log=root.thres=error 2>&1 |sed s/6-logs/test/ >> $@ 2>&1
155 echo '$$ ./test_simulator platform.xml test.xml --gras-log=root.thres=error' >> $@
156 ./6-logs_simulator gtut-platform.xml 3-args.xml --gras-log=root.thres=error 2>&1 |sed s/6-logs/test/ >> $@ 2>&1
158 killall 6-logs_server 6-logs_client 2>/dev/null || true
161 6-logs_client 6-logs_server 6-logs_simulator: _6-logs_client.c _6-logs_server.c _6-logs_simulator.c
164 _6-logs_client.c _6-logs_server.c _6-logs_simulator.c: 6-logs.c 3-args.xml
165 ../../tools/gras/gras_stub_generator 6-logs 3-args.xml >/dev/null
168 if [ -e 6-logs.mk ] ; then make -f 6-logs.mk clean; fi
169 rm -f _6-logs_client.c _6-logs_server.c _6-logs_simulator.c 6-logs.trace 6-logs.mk
173 ########################################
175 7-timers.output: 7-timers_client 7-timers_server 7-timers_simulator
176 echo '$$ ./test_server 12345 & ./test_client 127.0.0.1 12345' > $@
177 ./7-timers_server 12345 2>&1 |sed s/7-timers/test/ >> $@ 2>&1&
178 ./7-timers_client 127.0.0.1 12345 2>&1 |sed s/7-timers/test/ >> $@ 2>&1
181 echo '$$ ./test_simulator platform.xml test.xml' >> $@
182 ./7-timers_simulator gtut-platform.xml 3-args.xml 2>&1 |sed s/7-timers/test/ >> $@ 2>&1
184 killall 7-timers_server 7-timers_client 2>/dev/null || true
186 7-timers_client 7-timers_server 7-timers_simulator: _7-timers_client.c _7-timers_server.c _7-timers_simulator.c
189 _7-timers_client.c _7-timers_server.c _7-timers_simulator.c: 7-timers.c 3-args.xml
190 ../../tools/gras/gras_stub_generator 7-timers 3-args.xml >/dev/null
193 if [ -e 7-timers.mk ] ; then make -f 7-timers.mk clean; fi
194 rm -f _7-timers_client.c _7-timers_server.c _7-timers_simulator.c 7-timers.trace 7-timers.mk
196 # Lesson 8: exceptions
197 ########################################
199 8-exceptions.output: 8-exceptions_client 8-exceptions_server 8-exceptions_simulator
200 echo '$$ ./test_server & ./test_client 127.0.0.1 ' > $@
201 ./8-exceptions_server 2>&1 |sed s/8-exceptions/test/ >> $@ 2>&1&
202 ./8-exceptions_client 127.0.0.1 2>&1 |sed s/8-exceptions/test/ >> $@ 2>&1
205 echo '$$ ./test_server --cheat & ./test_client 127.0.0.1 ' >> $@
206 ./8-exceptions_server --cheat 2>&1 |sed s/8-exceptions/test/ >> $@ 2>&1&
207 ./8-exceptions_client 127.0.0.1 2>&1 |sed s/8-exceptions/test/ >> $@ 2>&1
209 echo '$$ killall test_server' >> $@
210 killall 8-exceptions_server 8-exceptions_client 2>/dev/null || true
212 echo '$$ ./test_simulator platform.xml test.xml' >> $@
213 ./8-exceptions_simulator gtut-platform.xml 3-args.xml 2>&1 |sed s/8-exceptions/test/ >> $@ 2>&1
216 8-exceptions_client 8-exceptions_server 8-exceptions_simulator: _8-exceptions_client.c _8-exceptions_server.c _8-exceptions_simulator.c
217 make -f 8-exceptions.mk
219 _8-exceptions_client.c _8-exceptions_server.c _8-exceptions_simulator.c: 8-exceptions.c 3-args.xml
220 ../../tools/gras/gras_stub_generator 8-exceptions 3-args.xml >/dev/null
222 # Lesson 9: simple data exchange
223 ########################################
224 9-simpledata: 9-simpledata.c
225 gcc -I$(GRAS_ROOT)/include -lgras -L$(GRAS_ROOT)/lib $^ -o $@
229 if [ -e 8-exceptions.mk ] ; then make -f 8-exceptions.mk clean; fi
230 rm -f _8-exceptions_client.c _8-exceptions_server.c _8-exceptions_simulator.c 8-exceptions.trace 8-exceptions.mk