diff options
author | Steven Rostedt <srostedt@redhat.com> | 2010-01-08 17:22:15 -0500 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2010-01-08 17:22:15 -0500 |
commit | d96b5f00ea26de8148d33737a11e81cf007f6f46 (patch) | |
tree | e684945d3c9f34ba2a16ef7955aa9eaa8650c10f /Makefile | |
parent | 07570886eda25c6d30fa55d03e71e8e6e29ad082 (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-- | Makefile | 118 |
1 files changed, 90 insertions, 28 deletions
@@ -31,12 +31,21 @@ VERSION = $(KS_VERSION) | |||
31 | PATCHLEVEL = $(KS_PATCHLEVEL) | 31 | PATCHLEVEL = $(KS_PATCHLEVEL) |
32 | EXTRAVERSION = $(KS_EXTRAVERSION) | 32 | EXTRAVERSION = $(KS_EXTRAVERSION) |
33 | 33 | ||
34 | GUI = 'GUI ' | ||
35 | GOBJ = $@ | ||
36 | |||
34 | else | 37 | else |
35 | 38 | ||
39 | CONFIG_LIBS = | ||
40 | CONFIG_FLAGS = | ||
41 | |||
36 | VERSION = $(TC_VERSION) | 42 | VERSION = $(TC_VERSION) |
37 | PATCHLEVEL = $(TC_PATCHLEVEL) | 43 | PATCHLEVEL = $(TC_PATCHLEVEL) |
38 | EXTRAVERSION = $(TC_EXTRAVERSION) | 44 | EXTRAVERSION = $(TC_EXTRAVERSION) |
39 | 45 | ||
46 | GUI = | ||
47 | GOBJ = " "$@ | ||
48 | |||
40 | endif | 49 | endif |
41 | 50 | ||
42 | TRACECMD_VERSION = $(TC_VERSION).$(TC_PATCHLEVEL).$(TC_EXTRAVERSION) | 51 | TRACECMD_VERSION = $(TC_VERSION).$(TC_PATCHLEVEL).$(TC_EXTRAVERSION) |
@@ -44,15 +53,69 @@ KERNELSHARK_VERSION = $(KS_VERSION).$(KS_PATCHLEVEL).$(KS_EXTRAVERSION) | |||
44 | 53 | ||
45 | CFLAGS = -g -Wall $(CONFIG_FLAGS) | 54 | CFLAGS = -g -Wall $(CONFIG_FLAGS) |
46 | 55 | ||
56 | # copy a bit from Linux kbuild | ||
57 | |||
58 | ifeq ("$(origin V)", "command line") | ||
59 | VERBOSE = $(V) | ||
60 | else | ||
61 | VERBOSE = 0 | ||
62 | endif | ||
63 | |||
64 | ifeq ($(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 = | ||
72 | else | ||
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); | ||
81 | endif | ||
82 | |||
83 | do_fpic_compile = \ | ||
84 | $(Q)$(print_fpic_compile) \ | ||
85 | $(CC) -c $(CFLAGS) $(EXT) $(INCLUDES) -fPIC $< -o $@ | ||
86 | |||
87 | do_app_build = \ | ||
88 | $(Q)$(print_app_build) \ | ||
89 | $(CC) $^ -rdynamic -o $@ $(CONFIG_LIBS) $(LIBS) | ||
90 | |||
91 | do_compile_shared_library = \ | ||
92 | $(Q)$(print_shared_lib_compile) \ | ||
93 | $(CC) --shared $^ -o $@ | ||
94 | |||
95 | do_compile_plugin_obj = \ | ||
96 | $(Q)$(print_plugin_obj_compile) \ | ||
97 | $(CC) -c $(CFLAGS) -fPIC -o $@ $< | ||
98 | |||
99 | do_plugin_build = \ | ||
100 | $(Q)$(print_plugin_build) \ | ||
101 | $(CC) -shared -nostartfiles -o $@ $< | ||
102 | |||
103 | do_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 | ||
50 | PLUGINS = plugin_hrtimer.so plugin_mac80211.so plugin_sched_switch.so \ | 111 | PLUGINS = plugin_hrtimer.so plugin_mac80211.so plugin_sched_switch.so \ |
51 | plugin_kmem.so | 112 | plugin_kmem.so |
52 | 113 | ||
53 | CMD_TARGETS = libparsevent.a libtracecmd.a trace-cmd $(PLUGINS) tc_version.h | 114 | CMD_TARGETS = tc_version.h libparsevent.a libtracecmd.a trace-cmd $(PLUGINS) |
115 | |||
116 | GUI_TARGETS = ks_version.h trace-graph trace-view kernelshark | ||
54 | 117 | ||
55 | GUI_TARGETS = trace-graph trace-view kernelshark ks_version.h | 118 | TARGETS = $(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 | |||
63 | all: $(CMD_TARGETS) | 126 | all: $(CMD_TARGETS) |
64 | 127 | ||
65 | gui: $(CMD_TARGETS) | 128 | gui: $(CMD_TARGETS) |
66 | $(MAKE) BUILDGUI=1 all_gui | 129 | $(Q)$(MAKE) BUILDGUI=1 all_gui |
67 | 130 | ||
68 | all_gui: $(GUI_TARGETS) | 131 | all_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 | ||
90 | trace-cmd:: trace-cmd.o trace-read.o | 153 | trace-cmd:: trace-cmd.o trace-read.o |
91 | $(CC) $^ -rdynamic -o $@ $(LIBS) | 154 | $(do_app_build) |
92 | 155 | ||
93 | trace-view:: trace-view-main.o $(TRACE_VIEW_OBJS) | 156 | trace-view:: trace-view-main.o $(TRACE_VIEW_OBJS) |
94 | $(CC) $^ -rdynamic -o $@ $(CONFIG_LIBS) $(LIBS) | 157 | $(do_app_build) |
95 | 158 | ||
96 | trace-graph:: trace-graph-main.o trace-graph.o trace-compat.o trace-hash.o trace-filter.o | 159 | trace-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 | ||
99 | ifeq ($(BUILDGUI), 1) | 162 | ifeq ($(BUILDGUI), 1) |
100 | kernelshark:: kernel-shark.o trace-compat.o $(TRACE_VIEW_OBJS) trace-graph.o \ | 163 | kernelshark:: 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) |
103 | else | 166 | else |
104 | kernelshark: force | 167 | kernelshark: force |
105 | @echo '**************************************' | 168 | @echo '**************************************' |
@@ -115,67 +178,66 @@ trace-view.o:: parse-events.h | |||
115 | trace-graph.o:: parse-events.h | 178 | trace-graph.o:: parse-events.h |
116 | 179 | ||
117 | parse-events.o: parse-events.c parse-events.h | 180 | parse-events.o: parse-events.c parse-events.h |
118 | $(CC) -c $(CFLAGS) $(EXT) $(INCLUDES) -fPIC $< -o $@ | 181 | $(do_fpic_compile) |
119 | 182 | ||
120 | trace-seq.o: trace-seq.c parse-events.h | 183 | trace-seq.o: trace-seq.c parse-events.h |
121 | $(CC) -c $(CFLAGS) $(EXT) $(INCLUDES) -fPIC $< -o $@ | 184 | $(do_fpic_compile) |
122 | 185 | ||
123 | trace-util.o:: trace-util.c | 186 | trace-util.o:: trace-util.c |
124 | $(CC) -c $(CFLAGS) $(EXT) $(INCLUDES) -fPIC $< -o $@ | 187 | $(do_fpic_compile) |
125 | 188 | ||
126 | trace-input.o:: trace-input.c | 189 | trace-input.o:: trace-input.c |
127 | $(CC) -c $(CFLAGS) $(EXT) $(INCLUDES) -fPIC $< -o $@ | 190 | $(do_fpic_compile) |
128 | 191 | ||
129 | trace-output.o:: trace-output.c | 192 | trace-output.o:: trace-output.c |
130 | $(CC) -c $(CFLAGS) $(EXT) $(INCLUDES) -fPIC $< -o $@ | 193 | $(do_fpic_compile) |
131 | 194 | ||
132 | trace-record.o:: trace-record.c | 195 | trace-record.o:: trace-record.c |
133 | $(CC) -c $(CFLAGS) $(EXT) $(INCLUDES) -fPIC $< -o $@ | 196 | $(do_fpic_compile) |
134 | 197 | ||
135 | trace-ftrace.o:: trace-ftrace.c | 198 | trace-ftrace.o:: trace-ftrace.c |
136 | $(CC) -c $(CFLAGS) $(EXT) $(INCLUDES) -fPIC $< -o $@ | 199 | $(do_fpic_compile) |
137 | 200 | ||
138 | PEVENT_LIB_OBJS = parse-events.o trace-seq.o | 201 | PEVENT_LIB_OBJS = parse-events.o trace-seq.o |
139 | 202 | ||
140 | libparsevent.so: $(PEVENT_LIB_OBJS) | 203 | libparsevent.so: $(PEVENT_LIB_OBJS) |
141 | $(CC) --shared $^ -o $@ | 204 | $(do_compile_shared_library) |
142 | 205 | ||
143 | libparsevent.a: $(PEVENT_LIB_OBJS) | 206 | libparsevent.a: $(PEVENT_LIB_OBJS) |
144 | $(RM) $@; $(AR) rcs $@ $^ | 207 | $(do_build_static_lib) |
145 | 208 | ||
146 | TCMD_LIB_OBJS = $(PEVENT_LIB_OBJS) trace-util.o trace-input.o trace-ftrace.o \ | 209 | TCMD_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 | ||
149 | libtracecmd.so: $(TCMD_LIB_OBJS) | 212 | libtracecmd.so: $(TCMD_LIB_OBJS) |
150 | $(CC) --shared $^ -o $@ | 213 | $(do_compile_shared_library) |
151 | 214 | ||
152 | libtracecmd.a: $(TCMD_LIB_OBJS) | 215 | libtracecmd.a: $(TCMD_LIB_OBJS) |
153 | $(RM) $@; $(AR) rcs $@ $^ | 216 | $(do_build_static_lib) |
154 | 217 | ||
155 | plugin_hrtimer.o: plugin_hrtimer.c parse-events.h trace-cmd.h | 218 | plugin_hrtimer.o: plugin_hrtimer.c parse-events.h trace-cmd.h |
156 | $(CC) -c $(CFLAGS) -fPIC -o $@ $< | 219 | $(do_compile_plugin_obj) |
157 | 220 | ||
158 | plugin_hrtimer.so: plugin_hrtimer.o | 221 | plugin_hrtimer.so: plugin_hrtimer.o |
159 | $(CC) -shared -nostartfiles -o $@ $< | 222 | $(do_plugin_build) |
160 | 223 | ||
161 | plugin_kmem.o: plugin_kmem.c parse-events.h trace-cmd.h | 224 | plugin_kmem.o: plugin_kmem.c parse-events.h trace-cmd.h |
162 | $(CC) -c $(CFLAGS) -fPIC -o $@ $< | 225 | $(do_compile_plugin_obj) |
163 | 226 | ||
164 | plugin_kmem.so: plugin_kmem.o | 227 | plugin_kmem.so: plugin_kmem.o |
165 | $(CC) -shared -nostartfiles -o $@ $< | 228 | $(do_plugin_build) |
166 | 229 | ||
167 | plugin_sched_switch.o: plugin_sched_switch.c parse-events.h trace-cmd.h | 230 | plugin_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 | ||
170 | plugin_sched_switch.so: plugin_sched_switch.o | 233 | plugin_sched_switch.so: plugin_sched_switch.o |
171 | $(CC) -shared -nostartfiles -o $@ $< | 234 | $(do_plugin_build) |
172 | 235 | ||
173 | plugin_mac80211.o: plugin_mac80211.c parse-events.h trace-cmd.h | 236 | plugin_mac80211.o: plugin_mac80211.c parse-events.h trace-cmd.h |
174 | $(CC) -c $(CFLAGS) -fPIC -o $@ $< | 237 | $(do_compile_plugin_obj) |
175 | 238 | ||
176 | plugin_mac80211.so: plugin_mac80211.o | 239 | plugin_mac80211.so: plugin_mac80211.o |
177 | $(CC) -shared -nostartfiles -o $@ $< | 240 | $(do_plugin_build) |
178 | |||
179 | 241 | ||
180 | define make_version.h | 242 | define make_version.h |
181 | @(echo \#define VERSION_CODE $(shell \ | 243 | @(echo \#define VERSION_CODE $(shell \ |