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@xxxxxxx> --- .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