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 | |
| 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>
| -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 \ |
