aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2010-01-08 17:22:15 -0500
committerSteven Rostedt <rostedt@goodmis.org>2010-01-08 17:22:15 -0500
commitd96b5f00ea26de8148d33737a11e81cf007f6f46 (patch)
treee684945d3c9f34ba2a16ef7955aa9eaa8650c10f /Makefile
parent07570886eda25c6d30fa55d03e71e8e6e29ad082 (diff)
build: Clean up the build output
Convert the build output to be similar to the KBUILD system used by Linux. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile118
1 files changed, 90 insertions, 28 deletions
diff --git a/Makefile b/Makefile
index 28a7270..20819a6 100644
--- a/Makefile
+++ b/Makefile
@@ -31,12 +31,21 @@ VERSION = $(KS_VERSION)
31PATCHLEVEL = $(KS_PATCHLEVEL) 31PATCHLEVEL = $(KS_PATCHLEVEL)
32EXTRAVERSION = $(KS_EXTRAVERSION) 32EXTRAVERSION = $(KS_EXTRAVERSION)
33 33
34GUI = 'GUI '
35GOBJ = $@
36
34else 37else
35 38
39CONFIG_LIBS =
40CONFIG_FLAGS =
41
36VERSION = $(TC_VERSION) 42VERSION = $(TC_VERSION)
37PATCHLEVEL = $(TC_PATCHLEVEL) 43PATCHLEVEL = $(TC_PATCHLEVEL)
38EXTRAVERSION = $(TC_EXTRAVERSION) 44EXTRAVERSION = $(TC_EXTRAVERSION)
39 45
46GUI =
47GOBJ = " "$@
48
40endif 49endif
41 50
42TRACECMD_VERSION = $(TC_VERSION).$(TC_PATCHLEVEL).$(TC_EXTRAVERSION) 51TRACECMD_VERSION = $(TC_VERSION).$(TC_PATCHLEVEL).$(TC_EXTRAVERSION)
@@ -44,15 +53,69 @@ KERNELSHARK_VERSION = $(KS_VERSION).$(KS_PATCHLEVEL).$(KS_EXTRAVERSION)
44 53
45CFLAGS = -g -Wall $(CONFIG_FLAGS) 54CFLAGS = -g -Wall $(CONFIG_FLAGS)
46 55
56# copy a bit from Linux kbuild
57
58ifeq ("$(origin V)", "command line")
59 VERBOSE = $(V)
60else
61 VERBOSE = 0
62endif
63
64ifeq ($(VERBOSE),1)
65 Q =
66 print_compile =
67 print_app_build =
68 print_fpic_compile =
69 print_shared_lib_compile =
70 print_plugin_obj_compile =
71 print_plugin_build =
72else
73 Q = @
74 print_compile = @echo ' $(GUI)COMPILE '$(GOBJ);
75 print_app_build = @echo ' $(GUI)BUILD '$(GOBJ);
76 print_fpic_compile = @echo ' $(GUI)COMPILE FPIC '$(GOBJ);
77 print_shared_lib_compile = @echo ' $(GUI)COMPILE SHARED LIB '$(GOBJ);
78 print_plugin_obj_compile = @echo ' $(GUI)COMPILE PLUGIN OBJ '$(GOBJ);
79 print_plugin_build = @echo ' $(GUI)BUILD PLUGIN '$(GOBJ);
80 print_static_lib_build = @echo ' $(GUI)BUILD STATIC LIB '$(GOBJ);
81endif
82
83do_fpic_compile = \
84 $(Q)$(print_fpic_compile) \
85 $(CC) -c $(CFLAGS) $(EXT) $(INCLUDES) -fPIC $< -o $@
86
87do_app_build = \
88 $(Q)$(print_app_build) \
89 $(CC) $^ -rdynamic -o $@ $(CONFIG_LIBS) $(LIBS)
90
91do_compile_shared_library = \
92 $(Q)$(print_shared_lib_compile) \
93 $(CC) --shared $^ -o $@
94
95do_compile_plugin_obj = \
96 $(Q)$(print_plugin_obj_compile) \
97 $(CC) -c $(CFLAGS) -fPIC -o $@ $<
98
99do_plugin_build = \
100 $(Q)$(print_plugin_build) \
101 $(CC) -shared -nostartfiles -o $@ $<
102
103do_build_static_lib = \
104 $(Q)$(print_static_lib_build) \
105 $(RM) $@; $(AR) rcs $@ $^
106
47%.o: %.c 107%.o: %.c
48 $(CC) -c $(CFLAGS) $(EXT) $(INCLUDES) $< -o $@ 108 $(print_compile)
109 $(Q)$(CC) -c $(CFLAGS) $(EXT) $(INCLUDES) $< -o $@
49 110
50PLUGINS = plugin_hrtimer.so plugin_mac80211.so plugin_sched_switch.so \ 111PLUGINS = plugin_hrtimer.so plugin_mac80211.so plugin_sched_switch.so \
51 plugin_kmem.so 112 plugin_kmem.so
52 113
53CMD_TARGETS = libparsevent.a libtracecmd.a trace-cmd $(PLUGINS) tc_version.h 114CMD_TARGETS = tc_version.h libparsevent.a libtracecmd.a trace-cmd $(PLUGINS)
115
116GUI_TARGETS = ks_version.h trace-graph trace-view kernelshark
54 117
55GUI_TARGETS = trace-graph trace-view kernelshark ks_version.h 118TARGETS = $(CMD_TARGETS) $(GUI_TARGETS)
56 119
57### 120###
58# Default we just build trace-cmd 121# Default we just build trace-cmd
@@ -63,7 +126,7 @@ GUI_TARGETS = trace-graph trace-view kernelshark ks_version.h
63all: $(CMD_TARGETS) 126all: $(CMD_TARGETS)
64 127
65gui: $(CMD_TARGETS) 128gui: $(CMD_TARGETS)
66 $(MAKE) BUILDGUI=1 all_gui 129 $(Q)$(MAKE) BUILDGUI=1 all_gui
67 130
68all_gui: $(GUI_TARGETS) 131all_gui: $(GUI_TARGETS)
69 132
@@ -88,18 +151,18 @@ TRACE_VIEW_OBJS = trace-view.o trace-view-store.o trace-filter.o trace-compat.o
88 trace-hash.o 151 trace-hash.o
89 152
90trace-cmd:: trace-cmd.o trace-read.o 153trace-cmd:: trace-cmd.o trace-read.o
91 $(CC) $^ -rdynamic -o $@ $(LIBS) 154 $(do_app_build)
92 155
93trace-view:: trace-view-main.o $(TRACE_VIEW_OBJS) 156trace-view:: trace-view-main.o $(TRACE_VIEW_OBJS)
94 $(CC) $^ -rdynamic -o $@ $(CONFIG_LIBS) $(LIBS) 157 $(do_app_build)
95 158
96trace-graph:: trace-graph-main.o trace-graph.o trace-compat.o trace-hash.o trace-filter.o 159trace-graph:: trace-graph-main.o trace-graph.o trace-compat.o trace-hash.o trace-filter.o
97 $(CC) $^ -rdynamic -o $@ $(CONFIG_LIBS) $(LIBS) 160 $(do_app_build)
98 161
99ifeq ($(BUILDGUI), 1) 162ifeq ($(BUILDGUI), 1)
100kernelshark:: kernel-shark.o trace-compat.o $(TRACE_VIEW_OBJS) trace-graph.o \ 163kernelshark:: kernel-shark.o trace-compat.o $(TRACE_VIEW_OBJS) trace-graph.o \
101 trace-hash.o 164 trace-hash.o
102 $(CC) $^ -rdynamic -o $@ $(CONFIG_LIBS) $(LIBS) 165 $(do_app_build)
103else 166else
104kernelshark: force 167kernelshark: force
105 @echo '**************************************' 168 @echo '**************************************'
@@ -115,67 +178,66 @@ trace-view.o:: parse-events.h
115trace-graph.o:: parse-events.h 178trace-graph.o:: parse-events.h
116 179
117parse-events.o: parse-events.c parse-events.h 180parse-events.o: parse-events.c parse-events.h
118 $(CC) -c $(CFLAGS) $(EXT) $(INCLUDES) -fPIC $< -o $@ 181 $(do_fpic_compile)
119 182
120trace-seq.o: trace-seq.c parse-events.h 183trace-seq.o: trace-seq.c parse-events.h
121 $(CC) -c $(CFLAGS) $(EXT) $(INCLUDES) -fPIC $< -o $@ 184 $(do_fpic_compile)
122 185
123trace-util.o:: trace-util.c 186trace-util.o:: trace-util.c
124 $(CC) -c $(CFLAGS) $(EXT) $(INCLUDES) -fPIC $< -o $@ 187 $(do_fpic_compile)
125 188
126trace-input.o:: trace-input.c 189trace-input.o:: trace-input.c
127 $(CC) -c $(CFLAGS) $(EXT) $(INCLUDES) -fPIC $< -o $@ 190 $(do_fpic_compile)
128 191
129trace-output.o:: trace-output.c 192trace-output.o:: trace-output.c
130 $(CC) -c $(CFLAGS) $(EXT) $(INCLUDES) -fPIC $< -o $@ 193 $(do_fpic_compile)
131 194
132trace-record.o:: trace-record.c 195trace-record.o:: trace-record.c
133 $(CC) -c $(CFLAGS) $(EXT) $(INCLUDES) -fPIC $< -o $@ 196 $(do_fpic_compile)
134 197
135trace-ftrace.o:: trace-ftrace.c 198trace-ftrace.o:: trace-ftrace.c
136 $(CC) -c $(CFLAGS) $(EXT) $(INCLUDES) -fPIC $< -o $@ 199 $(do_fpic_compile)
137 200
138PEVENT_LIB_OBJS = parse-events.o trace-seq.o 201PEVENT_LIB_OBJS = parse-events.o trace-seq.o
139 202
140libparsevent.so: $(PEVENT_LIB_OBJS) 203libparsevent.so: $(PEVENT_LIB_OBJS)
141 $(CC) --shared $^ -o $@ 204 $(do_compile_shared_library)
142 205
143libparsevent.a: $(PEVENT_LIB_OBJS) 206libparsevent.a: $(PEVENT_LIB_OBJS)
144 $(RM) $@; $(AR) rcs $@ $^ 207 $(do_build_static_lib)
145 208
146TCMD_LIB_OBJS = $(PEVENT_LIB_OBJS) trace-util.o trace-input.o trace-ftrace.o \ 209TCMD_LIB_OBJS = $(PEVENT_LIB_OBJS) trace-util.o trace-input.o trace-ftrace.o \
147 trace-output.o trace-record.o 210 trace-output.o trace-record.o
148 211
149libtracecmd.so: $(TCMD_LIB_OBJS) 212libtracecmd.so: $(TCMD_LIB_OBJS)
150 $(CC) --shared $^ -o $@ 213 $(do_compile_shared_library)
151 214
152libtracecmd.a: $(TCMD_LIB_OBJS) 215libtracecmd.a: $(TCMD_LIB_OBJS)
153 $(RM) $@; $(AR) rcs $@ $^ 216 $(do_build_static_lib)
154 217
155plugin_hrtimer.o: plugin_hrtimer.c parse-events.h trace-cmd.h 218plugin_hrtimer.o: plugin_hrtimer.c parse-events.h trace-cmd.h
156 $(CC) -c $(CFLAGS) -fPIC -o $@ $< 219 $(do_compile_plugin_obj)
157 220
158plugin_hrtimer.so: plugin_hrtimer.o 221plugin_hrtimer.so: plugin_hrtimer.o
159 $(CC) -shared -nostartfiles -o $@ $< 222 $(do_plugin_build)
160 223
161plugin_kmem.o: plugin_kmem.c parse-events.h trace-cmd.h 224plugin_kmem.o: plugin_kmem.c parse-events.h trace-cmd.h
162 $(CC) -c $(CFLAGS) -fPIC -o $@ $< 225 $(do_compile_plugin_obj)
163 226
164plugin_kmem.so: plugin_kmem.o 227plugin_kmem.so: plugin_kmem.o
165 $(CC) -shared -nostartfiles -o $@ $< 228 $(do_plugin_build)
166 229
167plugin_sched_switch.o: plugin_sched_switch.c parse-events.h trace-cmd.h 230plugin_sched_switch.o: plugin_sched_switch.c parse-events.h trace-cmd.h
168 $(CC) -c $(CFLAGS) -fPIC -o $@ $< 231 $(do_compile_plugin_obj)
169 232
170plugin_sched_switch.so: plugin_sched_switch.o 233plugin_sched_switch.so: plugin_sched_switch.o
171 $(CC) -shared -nostartfiles -o $@ $< 234 $(do_plugin_build)
172 235
173plugin_mac80211.o: plugin_mac80211.c parse-events.h trace-cmd.h 236plugin_mac80211.o: plugin_mac80211.c parse-events.h trace-cmd.h
174 $(CC) -c $(CFLAGS) -fPIC -o $@ $< 237 $(do_compile_plugin_obj)
175 238
176plugin_mac80211.so: plugin_mac80211.o 239plugin_mac80211.so: plugin_mac80211.o
177 $(CC) -shared -nostartfiles -o $@ $< 240 $(do_plugin_build)
178
179 241
180define make_version.h 242define make_version.h
181 @(echo \#define VERSION_CODE $(shell \ 243 @(echo \#define VERSION_CODE $(shell \