]>
Commit | Line | Data |
---|---|---|
2f1a1aea FCE |
1 | # Makefile.am --- automake input file for systemtap |
2 | ## process this file with automake to produce Makefile.in | |
3 | ||
42b926b7 RM |
4 | AUTOMAKE_OPTIONS = dist-bzip2 |
5 | ||
e460639f RM |
6 | pkglibexecdir = ${libexecdir}/${PACKAGE} |
7 | ||
6bc51533 | 8 | AM_CPPFLAGS = -DBINDIR='"$(bindir)"' -DPKGDATADIR='"${pkgdatadir}"' -DPKGLIBDIR='"$(pkglibexecdir)"' |
f00a8372 | 9 | |
78f6bba6 FCE |
10 | AM_CFLAGS = -D_GNU_SOURCE -fexceptions -Wall -Wextra -Werror -Wshadow -Wunused -Wformat=2 -W |
11 | AM_CXXFLAGS = -Wall -Wextra -Werror | |
77de5e9e | 12 | |
8905eef6 | 13 | dist_man_MANS = stap.1 stapprobes.5 stapfuncs.5 stapex.5 staprun.8 man/stapprobes.iosched.5 man/stapprobes.netdev.5 man/stapprobes.nfs.5 man/stapprobes.nfsd.5 man/stapprobes.pagefault.5 man/stapprobes.process.5 man/stapprobes.rpc.5 man/stapprobes.scsi.5 man/stapprobes.signal.5 man/stapprobes.socket.5 man/stapprobes.tcp.5 man/stapprobes.udp.5 |
a63a95dc | 14 | bin_PROGRAMS = stap staprun |
56e12059 | 15 | stap_SOURCES = main.cxx \ |
f4b28491 | 16 | parse.cxx staptree.cxx elaborate.cxx translate.cxx \ |
1b78aef5 | 17 | tapsets.cxx buildrun.cxx loc2c.c hash.cxx mdfour.c \ |
c3a3c0c9 | 18 | cache.cxx util.cxx coveragedb.cxx |
42feb3c0 | 19 | stap_LDADD = @stap_LIBS@ @sqlite3_LIBS@ |
e9d58a72 | 20 | |
78f6bba6 | 21 | stap_CXXFLAGS = $(AM_CXXFLAGS) |
e460639f RM |
22 | stap_CPPFLAGS = $(AM_CPPFLAGS) |
23 | stap_LDFLAGS = $(AM_LDFLAGS) | |
24 | ||
25 | CLEANFILES = | |
26 | ||
27 | if BUILD_ELFUTILS | |
fa1d05cd RM |
28 | # This tells automake's "make distcheck" what we need to compile. |
29 | DISTCHECK_CONFIGURE_FLAGS = --with-elfutils=$(elfutils_abs_srcdir) | |
30 | ||
e460639f RM |
31 | stap_CPPFLAGS += -Iinclude-elfutils |
32 | stap_LDFLAGS += -Llib-elfutils -Wl,-rpath-link,lib-elfutils \ | |
33 | -Wl,--enable-new-dtags,-rpath,$(pkglibdir) | |
34 | BUILT_SOURCES = stamp-elfutils | |
35 | CLEANFILES += stamp-elfutils | |
36 | stamp-elfutils: config.status | |
37 | $(MAKE) $(AM_MAKEFLAGS) -C build-elfutils all | |
38 | for dir in libelf libebl libdw libdwfl backends; do \ | |
39 | $(MAKE) $(AM_MAKEFLAGS) -C build-elfutils/$$dir install; \ | |
40 | done | |
41 | touch $@ | |
42 | stap_DEPENDENCIES = lib-elfutils/libdw.so | |
43 | lib-elfutils/libdw.so: stamp-elfutils ; | |
44 | ||
45 | .PHONY: install-elfutils | |
46 | install-elfutils: | |
17a127da | 47 | mkdir -p $(DESTDIR)$(pkglibdir) |
a3e695ac | 48 | for file in lib-elfutils/*.so* lib-elfutils/${PACKAGE_NAME}/*.so*; do \ |
17a127da | 49 | $(INSTALL_PROGRAM) $$file $(DESTDIR)$(pkglibdir); \ |
a3e695ac | 50 | done |
e460639f RM |
51 | install-exec-local: install-elfutils |
52 | endif | |
d04cf5ff | 53 | |
98aab489 DS |
54 | staprun_SOURCES = runtime/staprun/staprun.c runtime/staprun/staprun_funcs.c\ |
55 | runtime/staprun/ctl.c runtime/staprun/common.c \ | |
56 | runtime/staprun/cap.c runtime/staprun/symbols.c | |
e65b03c1 | 57 | |
7651c16b | 58 | staprun_CPPFLAGS = $(AM_CPPFLAGS) |
e65b03c1 | 59 | staprun_CFLAGS = @PROCFLAGS@ $(AM_CFLAGS) |
7651c16b | 60 | staprun_LDADD = @PROCFLAGS@ @cap_LIBS@ -lpthread |
2f1a1aea | 61 | |
98aab489 DS |
62 | stapio_SOURCES = runtime/staprun/stapio.c \ |
63 | runtime/staprun/mainloop.c runtime/staprun/common.c \ | |
64 | runtime/staprun/ctl.c \ | |
65 | runtime/staprun/relay.c runtime/staprun/relay_old.c | |
66 | ||
67 | stapio_CFLAGS = @PROCFLAGS@ $(AM_CFLAGS) | |
68 | stapio_LDADD = @PROCFLAGS@ -lpthread | |
69 | ||
70 | install-exec-hook: | |
7ab87feb FCE |
71 | if [ `id -u` -eq 0 ]; then chmod 04111 "$(DESTDIR)$(bindir)/staprun"; fi |
72 | ||
73 | # Why the "id -u" condition? This way, an unprivileged user can run | |
74 | # make install, and have "sudo stap ...." or "sudo staprun ...." work later. | |
75 | ||
98aab489 DS |
76 | |
77 | pkglibexec_PROGRAMS = stapio | |
78 | CLEANFILES += $(pkglibexec_PROGRAMS) | |
e460639f | 79 | |
5a5e5134 | 80 | noinst_PROGRAMS = loc2c-test |
51e874a1 | 81 | loc2c_test_SOURCES = loc2c-test.c loc2c.c |
e460639f RM |
82 | loc2c_test_CPPFLAGS = $(stap_CPPFLAGS) |
83 | loc2c_test_LDFLAGS = $(stap_LDFLAGS) | |
84 | loc2c_test_LDADD = $(stap_LDADD) | |
51e874a1 | 85 | |
35a04c8e FCE |
86 | # crash(8) extension |
87 | if BUILD_CRASHMOD | |
88 | STAPLOG=staplog.so | |
89 | ||
90 | $(STAPLOG): staplog.c | |
982b7e15 | 91 | $(CC) -Wall -shared -rdynamic $(LDFLAGS) $(CFLAGS) -fPIC -o $@ $< |
35a04c8e FCE |
92 | all-local: $(STAPLOG) |
93 | install-exec-local: $(STAPLOG) | |
8f3c45cc | 94 | -$(MKDIR_P) $(DESTDIR)$(pkglibdir) |
17a127da | 95 | $(INSTALL) $(STAPLOG) $(DESTDIR)$(pkglibdir) |
35a04c8e FCE |
96 | else |
97 | endif | |
98 | ||
2f1a1aea FCE |
99 | # Get extra libs as needed |
100 | LDADD = | |
101 | ||
6a39967c | 102 | EXTRA_DIST = buildrun.h elaborate.h loc2c.h session.h \ |
840e48ba | 103 | parse.h staptree.h tapsets.h translate.h \ |
9c94117b | 104 | cache.h hash.h mdfour.h util.h staplog.c coveragedb.h \ |
94cfa802 DS |
105 | examples testsuite systemtap.spec runtime tapset |
106 | ||
107 | SAMPLE_DEST_DIR = $(distdir)/examples/samples | |
108 | ||
2686f60a WC |
109 | SAMPLE_SRC = $(srcdir)/testsuite/systemtap.samples/iotask.stp \ |
110 | $(srcdir)/testsuite/systemtap.samples/kmalloc-stacks.stp \ | |
111 | $(srcdir)/testsuite/systemtap.samples/kmalloc-top \ | |
112 | $(srcdir)/testsuite/systemtap.samples/pfaults.stp \ | |
113 | $(srcdir)/testsuite/systemtap.samples/profile.stp \ | |
114 | $(srcdir)/testsuite/systemtap.samples/tcp_connections.stp \ | |
115 | $(srcdir)/testsuite/systemtap.samples/topsys.stp | |
94cfa802 DS |
116 | |
117 | # Copy some of the testsuite sample scripts to the distdir | |
118 | # 'examples/samples' directory. | |
119 | dist-add-samples: $(SAMPLE_SRC) | |
120 | rm -rf $(SAMPLE_DEST_DIR) | |
121 | mkdir -p $(SAMPLE_DEST_DIR) | |
122 | cp $(SAMPLE_SRC) $(SAMPLE_DEST_DIR) | |
123 | ||
124 | dist-hook: dist-add-samples | |
f00a8372 | 125 | find $(distdir) -name CVS -o -name '*~' -o -name '.#*' | xargs rm -rf |
a544b4ae | 126 | find $(distdir) -name '*.o' -o -name '*.ko' -o -name '*.cmd' -o -name '*.mod.c' -o -name '.??*' | xargs rm -rf |
2752649c | 127 | find $(distdir) -name 'stap' -o -name '*.log' -o -name '*.sum' -o -name 'site.exp' | xargs rm -rf |
0d49d7bc | 128 | |
ecfa3e8b | 129 | install-data-local: |
437040c3 | 130 | # mkdir -p $(DESTDIR)$(pkgdatadir)/runtime/transport $(DESTDIR)$(pkgdatadir)/tapset |
ef9e124a MH |
131 | (cd $(srcdir)/runtime; for f in *.[ch]; do $(INSTALL_DATA) -D $$f $(DESTDIR)$(pkgdatadir)/runtime/$$f; done) |
132 | (cd $(srcdir)/runtime/transport; for f in *.[ch]; \ | |
133 | do $(INSTALL_DATA) -D $$f $(DESTDIR)$(pkgdatadir)/runtime/transport/$$f; done) | |
6274464e | 134 | (cd $(srcdir)/runtime/uprobes; for f in Makefile *.[ch]; \ |
36b16282 | 135 | do $(INSTALL_DATA) -D $$f $(DESTDIR)$(pkgdatadir)/runtime/uprobes/$$f; done) |
4b2c4ab5 | 136 | (cd $(srcdir)/tapset; find . \( -name '*.stp' -o -name README \) -print \ |
ef9e124a | 137 | | while read f; do $(INSTALL_DATA) -D $$f $(DESTDIR)$(pkgdatadir)/tapset/$$f; done) |
ecfa3e8b | 138 | |
e885b2ec WC |
139 | TEST_COV_DIR = coverage |
140 | ||
af56020f | 141 | gcov: |
e885b2ec | 142 | @-$(MAKE) clean CXXFLAGS="-g -fprofile-arcs -ftest-coverage" all check |
af56020f | 143 | @gcov *.gcno >/dev/null 2>&1 |
af56020f FCE |
144 | @rm -f `ls -1 *.gcov | fgrep -v .cxx.gcov` |
145 | ls -l *.cxx.gcov | |
146 | ||
e885b2ec WC |
147 | lcov: |
148 | @lcov --directory . -z | |
149 | @-$(MAKE) clean CXXFLAGS="-g -fprofile-arcs -ftest-coverage" all check | |
150 | @lcov --directory . -c -o stap.info | |
151 | @genhtml -o ./$(TEST_COV_DIR) stap.info | |
152 | ||
1e7ad3bf | 153 | clean-local: |
f00a8372 RM |
154 | rm -f *.gcov *.gcno *.gcda ${PACKAGE_TARNAME}-*.tar.gz |
155 | rm -rf ${PACKAGE_TARNAME}-${PACKAGE_VERSION} | |
e885b2ec WC |
156 | rm -rf $(TEST_COV_DIR) |
157 | rm -rf stap.info | |
35a04c8e | 158 | rm -rf staplog.so |
4d4f412b FCE |
159 | |
160 | uninstall-local: | |
161 | rm -rf $(DESTDIR)$(pkgdatadir) | |
162 | rm -rf $(DESTDIR)$(libexecdir)/$(PACKAGE) | |
35a04c8e | 163 | rm -rf $(DESTDIR)$(libdir)/$(PACKAGE) |
4d4f412b | 164 | -rm -rf $(DESTDIR)$(localstatedir)/cache/$(PACKAGE) |
35a04c8e | 165 | # XXX: leaves behind man pages |
8129fd92 | 166 | |
814bc89d | 167 | SUBDIRS = testsuite |
5ba96b90 | 168 | |
5ba96b90 | 169 | check: |
17a127da RM |
170 | SRCDIR=`cd $(srcdir); pwd`; \ |
171 | $(MAKE) -C testsuite check SYSTEMTAP_RUNTIME=$$SRCDIR/runtime SYSTEMTAP_TAPSET=$$SRCDIR/tapset LD_LIBRARY_PATH=$(PWD)/lib-elfutils:$(PWD)/lib-elfutils/systemtap SYSTEMTAP_PATH=$(PWD) RUNTESTFLAGS="$(RUNTESTFLAGS)" | |
5ba96b90 FCE |
172 | |
173 | installcheck: | |
174 | $(MAKE) -C testsuite installcheck RUNTESTFLAGS="$(RUNTESTFLAGS)" | |
8f3c45cc FCE |
175 | |
176 | rpm: systemtap.spec dist | |
177 | rpmbuild --define "_sourcedir $(PWD)/" -ba systemtap.spec |