diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 62 |
1 files changed, 57 insertions, 5 deletions
@@ -1,3 +1,16 @@ | |||
1 | # trace-cmd version | ||
2 | TC_VERSION = 0 | ||
3 | TC_PATCHLEVEL = 6 | ||
4 | TC_EXTRAVERSION = | ||
5 | |||
6 | # Kernel Shark version | ||
7 | KS_VERSION = 0 | ||
8 | KS_PATCHLEVEL = 1 | ||
9 | KS_EXTRAVERSION = | ||
10 | |||
11 | # file format version | ||
12 | FILE_VERSION = 0 | ||
13 | |||
1 | CC = gcc | 14 | CC = gcc |
2 | AR = ar | 15 | AR = ar |
3 | EXT = -std=gnu99 | 16 | EXT = -std=gnu99 |
@@ -8,13 +21,27 @@ LIBS = -L. -ltracecmd -ldl | |||
8 | PACKAGES= gtk+-2.0 | 21 | PACKAGES= gtk+-2.0 |
9 | 22 | ||
10 | ifeq ($(BUILDGUI), 1) | 23 | ifeq ($(BUILDGUI), 1) |
11 | CONFIG_FLAGS = $(shell pkg-config --cflags $(PACKAGES)) \ | 24 | CONFIG_FLAGS = $(shell pkg-config --cflags $(PACKAGES)) -DBUILDGUI \ |
12 | -DGTK_VERSION=$(shell pkg-config --modversion gtk+-2.0 | \ | 25 | -DGTK_VERSION=$(shell pkg-config --modversion gtk+-2.0 | \ |
13 | awk 'BEGIN{FS="."}{ a = ($$1 * (2^16)) + $$2 * (2^8) + $$3; printf ("%d", a);}') | 26 | awk 'BEGIN{FS="."}{ a = ($$1 * (2^16)) + $$2 * (2^8) + $$3; printf ("%d", a);}') |
14 | 27 | ||
15 | CONFIG_LIBS = $(shell pkg-config --libs $(PACKAGES)) | 28 | CONFIG_LIBS = $(shell pkg-config --libs $(PACKAGES)) |
29 | |||
30 | VERSION = $(KS_VERSION) | ||
31 | PATCHLEVEL = $(KS_PATCHLEVEL) | ||
32 | EXTRAVERSION = $(KS_EXTRAVERSION) | ||
33 | |||
34 | else | ||
35 | |||
36 | VERSION = $(TC_VERSION) | ||
37 | PATCHLEVEL = $(TC_PATCHLEVEL) | ||
38 | EXTRAVERSION = $(TC_EXTRAVERSION) | ||
39 | |||
16 | endif | 40 | endif |
17 | 41 | ||
42 | TRACECMD_VERSION = $(TC_VERSION).$(TC_PATCHLEVEL).$(TC_EXTRAVERSION) | ||
43 | KERNELSHARK_VERSION = $(KS_VERSION).$(KS_PATCHLEVEL).$(KS_EXTRAVERSION) | ||
44 | |||
18 | CFLAGS = -g -Wall $(CONFIG_FLAGS) | 45 | CFLAGS = -g -Wall $(CONFIG_FLAGS) |
19 | 46 | ||
20 | %.o: %.c | 47 | %.o: %.c |
@@ -23,9 +50,9 @@ CFLAGS = -g -Wall $(CONFIG_FLAGS) | |||
23 | PLUGINS = plugin_hrtimer.so plugin_mac80211.so plugin_sched_switch.so \ | 50 | PLUGINS = plugin_hrtimer.so plugin_mac80211.so plugin_sched_switch.so \ |
24 | plugin_kmem.so | 51 | plugin_kmem.so |
25 | 52 | ||
26 | CMD_TARGETS = libparsevent.a libtracecmd.a trace-cmd $(PLUGINS) | 53 | CMD_TARGETS = libparsevent.a libtracecmd.a trace-cmd $(PLUGINS) tc_version.h |
27 | 54 | ||
28 | GUI_TARGETS = trace-graph trace-view kernelshark | 55 | GUI_TARGETS = trace-graph trace-view kernelshark ks_version.h |
29 | 56 | ||
30 | ### | 57 | ### |
31 | # Default we just build trace-cmd | 58 | # Default we just build trace-cmd |
@@ -45,7 +72,7 @@ LIB_FILE = libtracecmd.a | |||
45 | HEADERS = parse-events.h trace-cmd.h trace-local.h trace-hash.h | 72 | HEADERS = parse-events.h trace-cmd.h trace-local.h trace-hash.h |
46 | 73 | ||
47 | trace-read.o:: $(HEADERS) | 74 | trace-read.o:: $(HEADERS) |
48 | trace-cmd.o:: $(HEADERS) $(LIB_FILE) | 75 | trace-cmd.o:: $(HEADERS) $(LIB_FILE) tc_version.h |
49 | trace-util.o:: $(HEADERS) | 76 | trace-util.o:: $(HEADERS) |
50 | trace-ftrace.o:: $(HEADERS) | 77 | trace-ftrace.o:: $(HEADERS) |
51 | trace-input.o:: $(HEADERS) | 78 | trace-input.o:: $(HEADERS) |
@@ -55,7 +82,7 @@ trace-view-main.o:: $(HEADERS) trace-view-store.h trace-view.h libtracecmd.a | |||
55 | trace-filter.o:: $(HEADERS) | 82 | trace-filter.o:: $(HEADERS) |
56 | trace-graph.o:: $(HEADERS) trace-graph.h | 83 | trace-graph.o:: $(HEADERS) trace-graph.h |
57 | trace-graph-main.o:: $(HEADERS) trace-graph.h libtracecmd.a | 84 | trace-graph-main.o:: $(HEADERS) trace-graph.h libtracecmd.a |
58 | kernel-shark.o:: $(HEADERS) kernel-shark.h libtracecmd.a | 85 | kernel-shark.o:: $(HEADERS) kernel-shark.h libtracecmd.a ks_version.h |
59 | 86 | ||
60 | TRACE_VIEW_OBJS = trace-view.o trace-view-store.o trace-filter.o trace-compat.o \ | 87 | TRACE_VIEW_OBJS = trace-view.o trace-view-store.o trace-filter.o trace-compat.o \ |
61 | trace-hash.o | 88 | trace-hash.o |
@@ -150,6 +177,31 @@ plugin_mac80211.so: plugin_mac80211.o | |||
150 | $(CC) -shared -nostartfiles -o $@ $< | 177 | $(CC) -shared -nostartfiles -o $@ $< |
151 | 178 | ||
152 | 179 | ||
180 | define make_version.h | ||
181 | @(echo \#define VERSION_CODE $(shell \ | ||
182 | expr $(VERSION) \* 256 + $(PATCHLEVEL)); \ | ||
183 | echo '#define EXTRAVERSION ' $(EXTRAVERSION); \ | ||
184 | echo '#define VERSION_STRING "'$(VERSION).$(PATCHLEVEL)$(EXTRAVERSION)'"'; \ | ||
185 | echo '#define FILE_VERSION '$(FILE_VERSION); \ | ||
186 | ) > $1 | ||
187 | endef | ||
188 | |||
189 | define update_version.h | ||
190 | $(call make_version.h, $@.tmp); \ | ||
191 | if [ -r $@ ] && cmp -s $@ $@.tmp; then \ | ||
192 | rm -f $@.tmp; \ | ||
193 | else \ | ||
194 | echo ' UPD $@'; \ | ||
195 | mv -f $@.tmp $@; \ | ||
196 | fi; | ||
197 | endef | ||
198 | |||
199 | ks_version.h: force | ||
200 | $(call update_version.h) | ||
201 | |||
202 | tc_version.h: force | ||
203 | $(call update_version.h) | ||
204 | |||
153 | PYTHON_INCLUDES = `python-config --includes` | 205 | PYTHON_INCLUDES = `python-config --includes` |
154 | PYGTK_CFLAGS = `pkg-config --cflags pygtk-2.0` | 206 | PYGTK_CFLAGS = `pkg-config --cflags pygtk-2.0` |
155 | 207 | ||