* [PATCH] libtracefs: avoid pointless extra DEP stage @ 2022-06-20 15:03 Jan Engelhardt 2022-07-08 18:22 ` Steven Rostedt 0 siblings, 1 reply; 5+ messages in thread From: Jan Engelhardt @ 2022-06-20 15:03 UTC (permalink / raw) To: linux-trace-devel Call the compiler only once per source file. Reduces build time from 0.85 to 0.75 seconds for me. Signed-off-by: Jan Engelhardt <jengelh@inai.de> --- scripts/utils.mk | 4 ++-- src/Makefile | 14 ++------------ 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/scripts/utils.mk b/scripts/utils.mk index 5f43de1..b8a32a3 100644 --- a/scripts/utils.mk +++ b/scripts/utils.mk @@ -53,12 +53,12 @@ endif do_fpic_compile = \ ($(print_fpic_compile) \ - $(CC) -c $(CPPFLAGS) $(CFLAGS) $(EXT) -fPIC $< -o $@) + $(CC) -MMD -MP -c $(CPPFLAGS) $(CFLAGS) $(EXT) -fPIC $< -o $@) do_compile = \ ($(if $(GENERATE_PIC), $(do_fpic_compile), \ $(print_compile) \ - $(CC) -c $(CPPFLAGS) $(CFLAGS) $(EXT) $< -o $@)) + $(CC) -MMD -MP -c $(CPPFLAGS) $(CFLAGS) $(EXT) $< -o $@)) do_app_build = \ ($(print_app_build) \ diff --git a/src/Makefile b/src/Makefile index 645d518..3cd4263 100644 --- a/src/Makefile +++ b/src/Makefile @@ -48,24 +48,14 @@ sqlhist-lex.c: sqlhist.l sqlhist.tab.c $(bdir)/%.o: %.c $(Q)$(call do_fpic_compile) -$(DEPS): $(bdir)/.%.d: %.c - $(Q)$(CC) -M -MT $(bdir)/$*.o $(CPPFLAGS) $(CFLAGS) $< > $@ - -$(OBJS): $(bdir)/%.o : $(bdir)/.%.d - tracefs-sqlhist.o: sqlhist.tab.h $(OBJS): | $(bdir) -$(DEPS): | $(bdir) clean: - $(Q)$(call do_clean,$(OBJS) .*.d) + $(Q)$(call do_clean,$(OBJS) *.d) -dep_includes := $(wildcard $(DEPS)) - -ifneq ($(dep_includes),) - include $(dep_includes) -endif +-include *.d $(bdir)/tracefs-sqlhist.o tracefs-sqlhist.o: sqlhist.tab.h -- 2.36.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] libtracefs: avoid pointless extra DEP stage 2022-06-20 15:03 [PATCH] libtracefs: avoid pointless extra DEP stage Jan Engelhardt @ 2022-07-08 18:22 ` Steven Rostedt 2022-07-11 19:37 ` Jan Engelhardt 0 siblings, 1 reply; 5+ messages in thread From: Steven Rostedt @ 2022-07-08 18:22 UTC (permalink / raw) To: Jan Engelhardt; +Cc: linux-trace-devel On Mon, 20 Jun 2022 17:03:16 +0200 Jan Engelhardt <jengelh@inai.de> wrote: > clean: > - $(Q)$(call do_clean,$(OBJS) .*.d) > + $(Q)$(call do_clean,$(OBJS) *.d) > > -dep_includes := $(wildcard $(DEPS)) > - > -ifneq ($(dep_includes),) > - include $(dep_includes) > -endif > +-include *.d > After this change, the .d files are visible. Is there a way to keep them hidden? That is, keep the . in front? -- Steve ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] libtracefs: avoid pointless extra DEP stage 2022-07-08 18:22 ` Steven Rostedt @ 2022-07-11 19:37 ` Jan Engelhardt 2022-07-11 20:52 ` [PATCH v2] " Jan Engelhardt 0 siblings, 1 reply; 5+ messages in thread From: Jan Engelhardt @ 2022-07-11 19:37 UTC (permalink / raw) To: Steven Rostedt; +Cc: linux-trace-devel On Friday 2022-07-08 20:22, Steven Rostedt wrote: >On Mon, 20 Jun 2022 17:03:16 +0200 >Jan Engelhardt <jengelh@inai.de> wrote: > >> clean: >> - $(Q)$(call do_clean,$(OBJS) .*.d) >> + $(Q)$(call do_clean,$(OBJS) *.d) >> >> -dep_includes := $(wildcard $(DEPS)) >> - >> -ifneq ($(dep_includes),) >> - include $(dep_includes) >> -endif >> +-include *.d >> > >After this change, the .d files are visible. Is there a way to keep them >hidden? That is, keep the . in front? Generally there is. Let me see how to stick that into the $(CC) line. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2] libtracefs: avoid pointless extra DEP stage 2022-07-11 19:37 ` Jan Engelhardt @ 2022-07-11 20:52 ` Jan Engelhardt 2022-07-14 14:46 ` Steven Rostedt 0 siblings, 1 reply; 5+ messages in thread From: Jan Engelhardt @ 2022-07-11 20:52 UTC (permalink / raw) To: rostedt; +Cc: linux-trace-devel Call the compiler only once per source file. Reduces build time from 0.85 to 0.75 seconds for me. Signed-off-by: Jan Engelhardt <jengelh@inai.de> --- .gitignore | 2 +- Makefile | 1 - scripts/utils.mk | 4 ++-- src/Makefile | 13 +------------ utest/Makefile | 10 +--------- 5 files changed, 5 insertions(+), 25 deletions(-) diff --git a/.gitignore b/.gitignore index 88c9b42..3e72a58 100644 --- a/.gitignore +++ b/.gitignore @@ -11,5 +11,5 @@ build_prefix build_uninstall tfs_version.h *.o -*.d +.*.d sqlhist diff --git a/Makefile b/Makefile index 0044656..941ffff 100644 --- a/Makefile +++ b/Makefile @@ -330,7 +330,6 @@ OBJS += tracefs-instance.o OBJS += tracefs-events.o OBJS := $(OBJS:%.o=$(bdir)/%.o) -DEPS := $(OBJS:$(bdir)/%.o=$(bdir)/.%.d) all: $(DEFAULT_TARGET) diff --git a/scripts/utils.mk b/scripts/utils.mk index 5f43de1..b432e67 100644 --- a/scripts/utils.mk +++ b/scripts/utils.mk @@ -53,12 +53,12 @@ endif do_fpic_compile = \ ($(print_fpic_compile) \ - $(CC) -c $(CPPFLAGS) $(CFLAGS) $(EXT) -fPIC $< -o $@) + $(CC) -Wp,-MMD,$(@D)/.$(@F).d,-MT,$@ -MP -c $(CPPFLAGS) $(CFLAGS) $(EXT) -fPIC $< -o $@) do_compile = \ ($(if $(GENERATE_PIC), $(do_fpic_compile), \ $(print_compile) \ - $(CC) -c $(CPPFLAGS) $(CFLAGS) $(EXT) $< -o $@)) + $(CC) -Wp,-MMD,$(@D)/.$(@F).d,-MT,$@ -MP -c $(CPPFLAGS) $(CFLAGS) $(EXT) $< -o $@)) do_app_build = \ ($(print_app_build) \ diff --git a/src/Makefile b/src/Makefile index 645d518..d28b8f4 100644 --- a/src/Makefile +++ b/src/Makefile @@ -21,7 +21,6 @@ OBJS += sqlhist.tab.o OBJS += tracefs-sqlhist.o OBJS := $(OBJS:%.o=$(bdir)/%.o) -DEPS := $(OBJS:$(bdir)/%.o=$(bdir)/.%.d) $(LIBTRACEFS_STATIC): $(OBJS) $(Q)$(call do_build_static_lib) @@ -48,24 +47,14 @@ sqlhist-lex.c: sqlhist.l sqlhist.tab.c $(bdir)/%.o: %.c $(Q)$(call do_fpic_compile) -$(DEPS): $(bdir)/.%.d: %.c - $(Q)$(CC) -M -MT $(bdir)/$*.o $(CPPFLAGS) $(CFLAGS) $< > $@ - -$(OBJS): $(bdir)/%.o : $(bdir)/.%.d - tracefs-sqlhist.o: sqlhist.tab.h $(OBJS): | $(bdir) -$(DEPS): | $(bdir) clean: $(Q)$(call do_clean,$(OBJS) .*.d) -dep_includes := $(wildcard $(DEPS)) - -ifneq ($(dep_includes),) - include $(dep_includes) -endif +-include .*.d $(bdir)/tracefs-sqlhist.o tracefs-sqlhist.o: sqlhist.tab.h diff --git a/utest/Makefile b/utest/Makefile index 74bf7e6..ee0020a 100644 --- a/utest/Makefile +++ b/utest/Makefile @@ -15,13 +15,11 @@ LIBS += -lcunit \ $(obj)/lib/libtracefs.a OBJS := $(OBJS:%.o=$(bdir)/%.o) -DEPS := $(OBJS:$(bdir)/%.o=$(bdir)/.%.d) $(bdir): @mkdir -p $(bdir) $(OBJS): | $(bdir) -$(DEPS): | $(bdir) $(bdir)/trace-utest: $(OBJS) $(Q)$(do_app_build) @@ -29,13 +27,7 @@ $(bdir)/trace-utest: $(OBJS) $(bdir)/%.o: %.c $(Q)$(call do_fpic_compile) -$(DEPS): $(bdir)/.%.d: %.c - $(Q)$(CC) -M $(CPPFLAGS) $(CFLAGS) $< > $@ - $(Q)$(CC) -M -MT $(bdir)/$*.o $(CPPFLAGS) $(CFLAGS) $< > $@ - -$(OBJS): $(bdir)/%.o : $(bdir)/.%.d - -dep_includes := $(wildcard $(DEPS)) +-include .*.d test: $(TARGETS) -- 2.36.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2] libtracefs: avoid pointless extra DEP stage 2022-07-11 20:52 ` [PATCH v2] " Jan Engelhardt @ 2022-07-14 14:46 ` Steven Rostedt 0 siblings, 0 replies; 5+ messages in thread From: Steven Rostedt @ 2022-07-14 14:46 UTC (permalink / raw) To: Jan Engelhardt; +Cc: linux-trace-devel On Mon, 11 Jul 2022 22:52:14 +0200 Jan Engelhardt <jengelh@inai.de> wrote: > Call the compiler only once per source file. > Reduces build time from 0.85 to 0.75 seconds for me. > > Signed-off-by: Jan Engelhardt <jengelh@inai.de> Applied, thanks Jan! -- Steve ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-07-14 14:46 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-06-20 15:03 [PATCH] libtracefs: avoid pointless extra DEP stage Jan Engelhardt 2022-07-08 18:22 ` Steven Rostedt 2022-07-11 19:37 ` Jan Engelhardt 2022-07-11 20:52 ` [PATCH v2] " Jan Engelhardt 2022-07-14 14:46 ` Steven Rostedt
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).