Cache width and xposition in get_font_metrics
[tennix.git] / effprog-build
blob270e5eb5b8889d908e2fa52019384b64ae4d266b
1 #!/bin/sh -x
3 MYMASTER=effprog
4 SCHRITTE=`git tag | grep effprog-opt`
6 rm -rf effprog
8 git checkout $MYMASTER
9 make clean
11 mkdir effprog
12 make tennix.tnx
13 cp tennix.tnx effprog
14 make clean
16 for SCHRITT in $SCHRITTE; do
17 git checkout $SCHRITT
19 # "normales" build
20 touch tennix.tnx archive archive.o
21 make FPSLIMIT=1
22 cp tennix effprog/tennix-$SCHRITT-normal
23 make clean
25 # build mit update rectangles
26 touch tennix.tnx archive archive.o
27 make UPDRECTANGLE=1 FPSLIMIT=1
28 cp tennix effprog/tennix-$SCHRITT-updrect
29 make clean
31 # build ohne fps limiter
32 touch tennix.tnx archive archive.o
33 make
34 cp tennix effprog/tennix-$SCHRITT-nofpslimit
35 make clean
37 # build mit gprof support
38 touch tennix.tnx archive archive.o
39 CFLAGS=-pg make
40 cp tennix effprog/tennix-$SCHRITT-gprof
41 make clean
42 done
44 rm -f effprog/profile.sh
45 touch effprog/profile.sh
46 cat >>effprog/profile.sh <<EOF
47 #!/bin/sh
48 EOF
49 for SCHRITT in $SCHRITTE; do
50 cat >>effprog/profile.sh <<EOF
51 ./tennix-$SCHRITT-gprof -b
52 which gprof && gprof ./tennix-$SCHRITT-gprof >gprof_$SCHRITT.txt
53 rm -f gmon.out
54 which qprof && qprof -i 1000 -o qprof_$SCHRITT.txt ./tennix-$SCHRITT-normal -b
55 sudo opcontrol --reset
56 sudo opcontrol --init
57 sudo opcontrol --callgraph=5
58 sudo opcontrol --no-vmlinux
59 sudo opcontrol --start
60 ./tennix-$SCHRITT-normal -b
61 sudo opcontrol --stop
62 sudo opreport -l >opreport_$SCHRITT.txt
63 sudo opreport -l -c >opreport_callgraph_$SCHRITT.txt
64 sudo opcontrol --deinit
65 EOF
66 done
67 chmod +x effprog/profile.sh
69 git checkout $MYMASTER
70 make clean