aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile62
1 files changed, 57 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 125cb8b..28a7270 100644
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,16 @@
1# trace-cmd version
2TC_VERSION = 0
3TC_PATCHLEVEL = 6
4TC_EXTRAVERSION =
5
6# Kernel Shark version
7KS_VERSION = 0
8KS_PATCHLEVEL = 1
9KS_EXTRAVERSION =
10
11# file format version
12FILE_VERSION = 0
13
1CC = gcc 14CC = gcc
2AR = ar 15AR = ar
3EXT = -std=gnu99 16EXT = -std=gnu99
@@ -8,13 +21,27 @@ LIBS = -L. -ltracecmd -ldl
8PACKAGES= gtk+-2.0 21PACKAGES= gtk+-2.0
9 22
10ifeq ($(BUILDGUI), 1) 23ifeq ($(BUILDGUI), 1)
11CONFIG_FLAGS = $(shell pkg-config --cflags $(PACKAGES)) \ 24CONFIG_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
15CONFIG_LIBS = $(shell pkg-config --libs $(PACKAGES)) 28CONFIG_LIBS = $(shell pkg-config --libs $(PACKAGES))
29
30VERSION = $(KS_VERSION)
31PATCHLEVEL = $(KS_PATCHLEVEL)
32EXTRAVERSION = $(KS_EXTRAVERSION)
33
34else
35
36VERSION = $(TC_VERSION)
37PATCHLEVEL = $(TC_PATCHLEVEL)
38EXTRAVERSION = $(TC_EXTRAVERSION)
39
16endif 40endif
17 41
42TRACECMD_VERSION = $(TC_VERSION).$(TC_PATCHLEVEL).$(TC_EXTRAVERSION)
43KERNELSHARK_VERSION = $(KS_VERSION).$(KS_PATCHLEVEL).$(KS_EXTRAVERSION)
44
18CFLAGS = -g -Wall $(CONFIG_FLAGS) 45CFLAGS = -g -Wall $(CONFIG_FLAGS)
19 46
20%.o: %.c 47%.o: %.c
@@ -23,9 +50,9 @@ CFLAGS = -g -Wall $(CONFIG_FLAGS)
23PLUGINS = plugin_hrtimer.so plugin_mac80211.so plugin_sched_switch.so \ 50PLUGINS = plugin_hrtimer.so plugin_mac80211.so plugin_sched_switch.so \
24 plugin_kmem.so 51 plugin_kmem.so
25 52
26CMD_TARGETS = libparsevent.a libtracecmd.a trace-cmd $(PLUGINS) 53CMD_TARGETS = libparsevent.a libtracecmd.a trace-cmd $(PLUGINS) tc_version.h
27 54
28GUI_TARGETS = trace-graph trace-view kernelshark 55GUI_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
45HEADERS = parse-events.h trace-cmd.h trace-local.h trace-hash.h 72HEADERS = parse-events.h trace-cmd.h trace-local.h trace-hash.h
46 73
47trace-read.o:: $(HEADERS) 74trace-read.o:: $(HEADERS)
48trace-cmd.o:: $(HEADERS) $(LIB_FILE) 75trace-cmd.o:: $(HEADERS) $(LIB_FILE) tc_version.h
49trace-util.o:: $(HEADERS) 76trace-util.o:: $(HEADERS)
50trace-ftrace.o:: $(HEADERS) 77trace-ftrace.o:: $(HEADERS)
51trace-input.o:: $(HEADERS) 78trace-input.o:: $(HEADERS)
@@ -55,7 +82,7 @@ trace-view-main.o:: $(HEADERS) trace-view-store.h trace-view.h libtracecmd.a
55trace-filter.o:: $(HEADERS) 82trace-filter.o:: $(HEADERS)
56trace-graph.o:: $(HEADERS) trace-graph.h 83trace-graph.o:: $(HEADERS) trace-graph.h
57trace-graph-main.o:: $(HEADERS) trace-graph.h libtracecmd.a 84trace-graph-main.o:: $(HEADERS) trace-graph.h libtracecmd.a
58kernel-shark.o:: $(HEADERS) kernel-shark.h libtracecmd.a 85kernel-shark.o:: $(HEADERS) kernel-shark.h libtracecmd.a ks_version.h
59 86
60TRACE_VIEW_OBJS = trace-view.o trace-view-store.o trace-filter.o trace-compat.o \ 87TRACE_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
180define 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
187endef
188
189define 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;
197endef
198
199ks_version.h: force
200 $(call update_version.h)
201
202tc_version.h: force
203 $(call update_version.h)
204
153PYTHON_INCLUDES = `python-config --includes` 205PYTHON_INCLUDES = `python-config --includes`
154PYGTK_CFLAGS = `pkg-config --cflags pygtk-2.0` 206PYGTK_CFLAGS = `pkg-config --cflags pygtk-2.0`
155 207