77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
rm -f xvfs-test-coverage.info
lcov --capture --directory . --output-file xvfs-test-coverage.info
rm -rf xvfs-test-coverage
mkdir xvfs-test-coverage
genhtml xvfs-test-coverage.info --output-directory xvfs-test-coverage
rm -f xvfs-test-coverage.info
profile: profile.c Makefile
rm -f example-client$(LIB_SUFFIX) xvfs$(LIB_SUFFIX)
$(MAKE) xvfs$(LIB_SUFFIX) example-client$(LIB_SUFFIX) XVFS_ADD_CPPFLAGS="-UXVFS_DEBUG"
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -UUSE_TCL_STUBS ./xvfs$(LIB_SUFFIX) ./example-client$(LIB_SUFFIX) -o profile profile.c -ltcl
do-profile: profile Makefile
rm -rf oprofile_data
LD_LIBRARY_PATH='$(shell pwd):$(LD_LIBRARY_PATH)' operf ./profile
opreport
clean:
rm -f xvfs-create-standalone.new xvfs-create-standalone
rm -f example.c example.c.new
rm -f example-standalone$(LIB_SUFFIX) example-standalone.o
rm -f example-client.o example-client$(LIB_SUFFIX)
rm -f example-flexible.o example-flexible$(LIB_SUFFIX)
rm -f xvfs.o xvfs$(LIB_SUFFIX)
rm -f example-standalone.gcda example-standalone.gcno
rm -f example-client.gcda example-client.gcno
rm -f example-flexible.gcda example-flexible.gcno
rm -f xvfs_random$(LIB_SUFFIX) xvfs_synthetic$(LIB_SUFFIX)
rm -f xvfs.gcda xvfs.gcno
rm -f __test__.tcl
rm -f profile
rm -rf oprofile_data
rm -f xvfs-test-coverage.info
rm -rf xvfs-test-coverage
distclean: clean
.PHONY: all clean distclean test do-test do-coverage do-benchmark do-profile
|
|
<
<
|
>
>
>
|
>
|
>
>
>
>
|
>
>
|
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
rm -f xvfs-test-coverage.info
lcov --capture --directory . --output-file xvfs-test-coverage.info
rm -rf xvfs-test-coverage
mkdir xvfs-test-coverage
genhtml xvfs-test-coverage.info --output-directory xvfs-test-coverage
rm -f xvfs-test-coverage.info
profile-bare: profile.c example.c xvfs-core.h xvfs-core.c Makefile
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -UUSE_TCL_STUBS -o profile-bare profile.c -ltcl
profile-gperf: profile.c example.c xvfs-core.h xvfs-core.c Makefile
$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -pg -UUSE_TCL_STUBS -o profile-gperf profile.c -ltcl
do-profile: profile-bare profile-gperf Makefile
rm -rf oprofile_data
rm -f gmon.out callgrind.out
operf ./profile-bare
opreport
./profile-gperf
gprof ./profile-gperf
valgrind --tool=callgrind --callgrind-out-file=callgrind.out ./profile-bare 10 2
callgrind_annotate callgrind.out
clean:
rm -f xvfs-create-standalone.new xvfs-create-standalone
rm -f example.c example.c.new
rm -f example-standalone$(LIB_SUFFIX) example-standalone.o
rm -f example-client.o example-client$(LIB_SUFFIX)
rm -f example-flexible.o example-flexible$(LIB_SUFFIX)
rm -f xvfs.o xvfs$(LIB_SUFFIX)
rm -f example-standalone.gcda example-standalone.gcno
rm -f example-client.gcda example-client.gcno
rm -f example-flexible.gcda example-flexible.gcno
rm -f xvfs_random$(LIB_SUFFIX) xvfs_synthetic$(LIB_SUFFIX)
rm -f xvfs.gcda xvfs.gcno
rm -f __test__.tcl
rm -f profile-bare profile-gperf
rm -f gmon.out
rm -f callgrind.out
rm -rf oprofile_data
rm -f xvfs-test-coverage.info
rm -rf xvfs-test-coverage
distclean: clean
.PHONY: all clean distclean test do-test do-coverage do-benchmark do-profile
|