From: "Vladislav Valtchev (VMware)" <vladislav.valtchev@gmail.com>
To: rostedt@goodmis.org
Cc: y.karadz@gmail.com, linux-trace-devel@vger.kernel.org,
linux-kernel@vger.kernel.org,
"Vladislav Valtchev (VMware)" <vladislav.valtchev@gmail.com>
Subject: [PATCH 05/18] trace-cmd: Extract part of Makefile in scripts/utils.mk
Date: Wed, 20 Dec 2017 20:07:35 +0200 [thread overview]
Message-ID: <20171220180748.17273-6-vladislav.valtchev@gmail.com> (raw)
In-Reply-To: <20171220180748.17273-1-vladislav.valtchev@gmail.com>
This patch extracts useful functions for Makefile in order to allow the new
Makefiles that will be introduced in the next steps to reuse them.
Signed-off-by: Vladislav Valtchev (VMware) <vladislav.valtchev@gmail.com>
---
Makefile | 57 +++----------------------------------------------
scripts/utils.mk | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 67 insertions(+), 54 deletions(-)
create mode 100644 scripts/utils.mk
diff --git a/Makefile b/Makefile
index 6d45870..6f502e7 100644
--- a/Makefile
+++ b/Makefile
@@ -203,10 +203,6 @@ VERSION = $(KS_VERSION)
PATCHLEVEL = $(KS_PATCHLEVEL)
EXTRAVERSION = $(KS_EXTRAVERSION)
-GUI = 'GUI '
-GOBJ = $@
-GSPACE =
-
REBUILD_GUI = /bin/true
G =
N = @/bin/true ||
@@ -222,10 +218,6 @@ VERSION = $(TC_VERSION)
PATCHLEVEL = $(TC_PATCHLEVEL)
EXTRAVERSION = $(TC_EXTRAVERSION)
-GUI =
-GSPACE = " "
-GOBJ = $(GSPACE)$@
-
REBUILD_GUI = $(MAKE) -f $(src)/Makefile BUILDGUI=1 $@
G = $(REBUILD_GUI); /bin/true ||
N =
@@ -233,6 +225,9 @@ endif
export Q VERBOSE
+# Include the utils
+include scripts/utils.mk
+
TRACECMD_VERSION = $(TC_VERSION).$(TC_PATCHLEVEL).$(TC_EXTRAVERSION)
KERNELSHARK_VERSION = $(KS_VERSION).$(KS_PATCHLEVEL).$(KS_EXTRAVERSION)
@@ -279,52 +274,6 @@ endif
override CFLAGS += $(CONFIG_FLAGS) $(INCLUDES) $(PLUGIN_DIR_SQ) $(VAR_DIR)
override CFLAGS += $(udis86-flags) $(blk-flags)
-ifeq ($(VERBOSE),1)
- Q =
- print_compile =
- print_app_build =
- print_fpic_compile =
- print_shared_lib_compile =
- print_plugin_obj_compile =
- print_plugin_build =
- print_install =
-else
- Q = @
- print_compile = echo ' $(GUI)COMPILE '$(GOBJ);
- print_app_build = echo ' $(GUI)BUILD '$(GOBJ);
- print_fpic_compile = echo ' $(GUI)COMPILE FPIC '$(GOBJ);
- print_shared_lib_compile = echo ' $(GUI)COMPILE SHARED LIB '$(GOBJ);
- print_plugin_obj_compile = echo ' $(GUI)COMPILE PLUGIN OBJ '$(GOBJ);
- print_plugin_build = echo ' $(GUI)BUILD PLUGIN '$(GOBJ);
- print_static_lib_build = echo ' $(GUI)BUILD STATIC LIB '$(GOBJ);
- print_install = echo ' $(GUI)INSTALL '$(GSPACE)$1' to $(DESTDIR_SQ)$2';
-endif
-
-do_fpic_compile = \
- ($(print_fpic_compile) \
- $(CC) -c $(CPPFLAGS) $(CFLAGS) $(EXT) -fPIC $< -o $@)
-
-do_app_build = \
- ($(print_app_build) \
- $(CC) $^ -rdynamic -o $@ $(LDFLAGS) $(CONFIG_LIBS) $(LIBS))
-
-do_compile_shared_library = \
- ($(print_shared_lib_compile) \
- $(CC) --shared $^ -o $@)
-
-do_compile_plugin_obj = \
- ($(print_plugin_obj_compile) \
- $(CC) -c $(CPPFLAGS) $(CFLAGS) -fPIC -o $@ $<)
-
-do_plugin_build = \
- ($(print_plugin_build) \
- $(CC) $(CFLAGS) $(LDFLAGS) -shared -nostartfiles -o $@ $<)
-
-do_build_static_lib = \
- ($(print_static_lib_build) \
- $(RM) $@; $(AR) rcs $@ $^)
-
-
define check_gui
if [ $(BUILDGUI) -ne 1 -a ! -z "$(filter $(gui_objs),$(@))" ]; then \
$(REBUILD_GUI); \
diff --git a/scripts/utils.mk b/scripts/utils.mk
new file mode 100644
index 0000000..39cb387
--- /dev/null
+++ b/scripts/utils.mk
@@ -0,0 +1,64 @@
+
+# Utils
+
+ifeq ($(BUILDGUI), 1)
+ GUI = 'GUI '
+ GOBJ = $@
+ GSPACE =
+else
+ GUI =
+ GSPACE = " "
+ GOBJ = $(GSPACE)$@
+endif
+
+
+ifeq ($(VERBOSE),1)
+ Q =
+ print_compile =
+ print_app_build =
+ print_fpic_compile =
+ print_shared_lib_compile =
+ print_plugin_obj_compile =
+ print_plugin_build =
+ print_install =
+else
+ Q = @
+ print_compile = echo ' $(GUI)COMPILE '$(GOBJ);
+ print_app_build = echo ' $(GUI)BUILD '$(GOBJ);
+ print_fpic_compile = echo ' $(GUI)COMPILE FPIC '$(GOBJ);
+ print_shared_lib_compile = echo ' $(GUI)COMPILE SHARED LIB '$(GOBJ);
+ print_plugin_obj_compile = echo ' $(GUI)COMPILE PLUGIN OBJ '$(GOBJ);
+ print_plugin_build = echo ' $(GUI)BUILD PLUGIN '$(GOBJ);
+ print_static_lib_build = echo ' $(GUI)BUILD STATIC LIB '$(GOBJ);
+ print_install = echo ' $(GUI)INSTALL '$(GSPACE)$1' to $(DESTDIR_SQ)$2';
+endif
+
+
+do_compile = \
+ ($(print_compile) \
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(EXT) $< -o $@)
+
+do_fpic_compile = \
+ ($(print_fpic_compile) \
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $(EXT) -fPIC $< -o $@)
+
+do_app_build = \
+ ($(print_app_build) \
+ $(CC) $^ -rdynamic -o $@ $(LDFLAGS) $(CONFIG_LIBS) $(LIBS))
+
+do_build_static_lib = \
+ ($(print_static_lib_build) \
+ $(RM) $@; $(AR) rcs $@ $^)
+
+do_compile_shared_library = \
+ ($(print_shared_lib_compile) \
+ $(CC) --shared $^ -o $@)
+
+do_compile_plugin_obj = \
+ ($(print_plugin_obj_compile) \
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) -fPIC -o $@ $<)
+
+do_plugin_build = \
+ ($(print_plugin_build) \
+ $(CC) $(CFLAGS) $(LDFLAGS) -shared -nostartfiles -o $@ $<)
+
--
2.14.1
next prev parent reply other threads:[~2017-12-20 18:08 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-20 18:07 [PATCH 00/18] trace-cmd: restructure the project's source tree Vladislav Valtchev (VMware)
2017-12-20 18:07 ` [PATCH 01/18] trace-cmd: Rename libparsevent to libtraceevent Vladislav Valtchev (VMware)
2017-12-20 18:07 ` [PATCH 02/18] trace-cmd: Move libtraceevent headers in include/traceevent Vladislav Valtchev (VMware)
2017-12-20 18:07 ` [PATCH 03/18] trace-cmd: Move trace-cmd headers in include/trace-cmd Vladislav Valtchev (VMware)
2017-12-20 18:07 ` [PATCH 04/18] trace-cmd: Move event-utils.h in lib/traceevent/include Vladislav Valtchev (VMware)
2017-12-20 18:07 ` Vladislav Valtchev (VMware) [this message]
2017-12-20 18:07 ` [PATCH 06/18] trace-cmd: Move libtraceevent *.c files in lib/traceevent Vladislav Valtchev (VMware)
2017-12-20 18:07 ` [PATCH 07/18] trace-cmd: Move trace-hash-local.h in lib/trace-cmd/include Vladislav Valtchev (VMware)
2017-12-20 18:07 ` [PATCH 08/18] trace-cmd: Move libtracecmd *.c files in lib/trace-cmd Vladislav Valtchev (VMware)
2017-12-20 18:07 ` [PATCH 09/18] trace-cmd: Move GUI headers in kernel-shark/include Vladislav Valtchev (VMware)
2017-12-20 18:07 ` [PATCH 10/18] trace-cmd: Move GUI *.c files in kernel-shark/ Vladislav Valtchev (VMware)
2017-12-20 18:07 ` [PATCH 11/18] trace-cmd: Move plugin_* files in plugins/ Vladislav Valtchev (VMware)
2017-12-20 18:07 ` [PATCH 12/18] trace-cmd: Fix the broken target ctracecmdgui.so Vladislav Valtchev (VMware)
2017-12-20 18:07 ` [PATCH 13/18] trace-cmd: Move python-related files in python/ Vladislav Valtchev (VMware)
2017-12-20 18:07 ` [PATCH 14/18] trace-cmd: Move tracecmd headers in tracecmd/include Vladislav Valtchev (VMware)
2017-12-20 18:07 ` [PATCH 15/18] trace-cmd: Move version.h in include/ Vladislav Valtchev (VMware)
2017-12-20 18:07 ` [PATCH 16/18] trace-cmd: Move trace-cmd app files in tracecmd/ Vladislav Valtchev (VMware)
2017-12-20 18:07 ` [PATCH 17/18] trace-cmd: Fix the logic behind SWIG_DEFINED in the Makefile Vladislav Valtchev (VMware)
2017-12-20 18:07 ` [PATCH 18/18] trace-cmd: Make the build to tell when python-dev is missing Vladislav Valtchev (VMware)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171220180748.17273-6-vladislav.valtchev@gmail.com \
--to=vladislav.valtchev@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-trace-devel@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=y.karadz@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).