1 # build and install rules for endurance tools and scripts
5 # add some extra warnings
6 CFLAGS += -Wmissing-prototypes -Wstrict-prototypes -Wsign-compare\
7 -Wbad-function-cast -Wcast-qual -Wpointer-arith -Wshadow\
8 -Wwrite-strings -Wcast-align -W
10 BIN = measure/proc2csv measure/sp-noncached
11 SRC = Makefile src/proc2csv.c src/sp_noncached.c
12 MAN = endurance-mem-overview.1 \
15 endurance-extract-process-smaps.1 \
16 endurance-parse-snapshots.1 \
17 endurance-recompress-snapshots.1 \
18 endurance-extract-process-cgroups.1 \
19 endurance-snapshot.1 \
20 endurance-split-snapshots.1 \
26 BIN += measure/xmeminfo
32 ALL = $(SRC) $(BIN) $(DOC) postproc-lib
37 postproc-lib/Makefile:
38 cd postproc-lib && perl Makefile.PL
41 postproc-lib: postproc-lib/Makefile
42 cd postproc-lib && $(MAKE)
44 measure/proc2csv: src/proc2csv.c
45 $(CC) $(CFLAGS) -o $@ $<
47 measure/xmeminfo: src/xmeminfo.c
48 $(CC) -I/usr/X11R6/include $(CFLAGS) -o $@ $< -lXRes -lX11
50 measure/sp-noncached: src/sp_noncached.c
51 $(CC) $(CFLAGS) -o $@ $<
55 $(RM) measure/proc2csv
56 $(RM) measure/xmeminfo
57 $(RM) measure/sp-noncached
58 [ ! -f postproc-lib/Makefile ] || $(MAKE) -C postproc-lib clean
59 $(RM) postproc-lib/Makefile.old
60 $(RM) man/endurance-recompress-snapshots.1
61 $(RM) man/endurance-extract-process-cgroups.1
62 $(RM) postproc/syslog_parse.pyc
66 [ ! -f postproc-lib/Makefile ] || $(MAKE) -C postproc-lib test
69 install -d $(DESTDIR)/usr/share/man/man1/
71 endurance-recompress-snapshots.1: postproc/endurance-recompress-snapshots mandir
72 pod2man postproc/endurance-recompress-snapshots > man/$@
73 install -m 644 man/$@ $(DESTDIR)/usr/share/man/man1/
75 endurance-extract-process-cgroups.1: postproc/endurance-extract-process-cgroups mandir
76 pod2man postproc/endurance-extract-process-cgroups > man/$@
77 install -m 644 man/$@ $(DESTDIR)/usr/share/man/man1/
80 install -m 644 man/$@ $(DESTDIR)/usr/share/man/man1/
82 DOCDIR ?= /usr/share/doc
84 .PHONY: install-measure
86 install -d $(DESTDIR)/usr/bin/
87 cp measure/* $(DESTDIR)/usr/bin/
89 .PHONY: install-postproc-lib
91 cd postproc-lib && $(MAKE) install DESTDIR=$(DESTDIR)
93 .PHONY: install-postproc
95 install -d $(DESTDIR)/usr/bin/
96 cp postproc/* $(DESTDIR)/usr/bin/
97 install -d $(DESTDIR)/$(DOCDIR)/sp-endurance-postproc/
98 cp README $(DESTDIR)/$(DOCDIR)/sp-endurance-postproc/
99 cp doc/endurance.pdf $(DESTDIR)/$(DOCDIR)/sp-endurance-postproc/
100 install -d $(DESTDIR)/usr/share/sp-endurance-postproc/
101 cp -a syslog-parser-configurations/* $(DESTDIR)/usr/share/sp-endurance-postproc/
103 .PHONY: install-tests
105 install -d $(DESTDIR)/usr/share/sp-endurance-tests/
106 cp -a tests/* $(DESTDIR)/usr/share/sp-endurance-tests/
108 .PHONY: install-compat-symlinks
109 install-compat-symlinks:
110 install -d $(DESTDIR)/usr/bin/
111 ln -s -f endurance-extract-process-smaps $(DESTDIR)/usr/bin/extract-endurance-process-smaps
112 ln -s -f endurance-extract-process-cgroups $(DESTDIR)/usr/bin/extract-endurance-process-cgroups
113 ln -s -f endurance-parse-snapshots $(DESTDIR)/usr/bin/parse-endurance-measurements
114 ln -s -f endurance-plot $(DESTDIR)/usr/bin/endurance_plot
115 ln -s -f endurance-recompress-snapshots $(DESTDIR)/usr/bin/recompress-endurance-measurements
116 ln -s -f endurance-report $(DESTDIR)/usr/bin/endurance_report.py
117 ln -s -f endurance-snapshot $(DESTDIR)/usr/bin/save-incremental-endurance-stats
118 ln -s -f endurance-split-snapshots $(DESTDIR)/usr/bin/split-endurance-measurements
121 install: $(MAN) install-measure install-postproc-lib install-postproc install-tests