From f89b3d16db90be99c3097c8dac0d95930cdd1f1d Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Tue, 6 Apr 2010 10:00:30 -0700 Subject: [PATCH] Makefiles: Eliminate the useless quiet_* functions. With the original quiet function, there's an actual purpose (hiding excessively long compiler command lines so that warnings and errors from the compiler can be seen). But with things like quiet_symlink there's nothing quieter. In fact "SYMLINK" is longer than "ln -sf". So all this is doing is hiding the actual command from the user for no real benefit. The only actual reason we implemented the quiet_* functions was to be able to neatly right-align the command name and left-align the arguments. Let's give up on that, and just left-align everything, simplifying the Makefiles considerably. Now, the only instances of a captialized command name in the output is if there's some actually shortening of the command itself. --- Makefile.local | 46 ++++++++++++++++++-------------------------- configure | 15 --------------- emacs/Makefile.local | 4 ++-- lib/Makefile.local | 18 ++++++++--------- 4 files changed, 30 insertions(+), 53 deletions(-) diff --git a/Makefile.local b/Makefile.local index ecb9ae0d..da31982c 100644 --- a/Makefile.local +++ b/Makefile.local @@ -103,28 +103,20 @@ release-verify-newer: release-verify-version # user how to enable verbose compiles. ifeq ($(V),) quiet_DOC := "Use \"$(MAKE) V=1\" to see the verbose compile lines.\n" -quiet = @printf $(quiet_DOC)$(eval quiet_DOC:=)" %12s $@\n" "$1 $2"; $($1) -quiet_args = @printf $(quiet_DOC)$(eval quiet_DOC:=)" %12s$2\n" $1; $($1) $2 +quiet = @printf $(quiet_DOC)$(eval quiet_DOC:=)"$1 $@\n"; $($(shell echo $1 | sed -e s'/ .*//')) endif # The user has explicitly enabled quiet compilation. ifeq ($(V),0) -quiet = @printf " %12s $@\n" "$1 $2"; $($1) -quiet_args = @printf " %12s$2\n" $1; $($1) $2 +quiet = @printf "$1 $@\n"; $($(shell echo $1 | sed -e s'/ .*//')) endif # Otherwise, print the full command line. -quiet ?= $($1) -quiet_args ?= $($1) $2 - -quiet_mkdir = $(call quiet_args,MKDIR,$1) -quiet_install_bin = $(call quiet_args,INSTALL-BIN,$1) -quiet_install_data = $(call quiet_args,INSTALL-DATA,$1) -quiet_symlink = $(call quiet_args,SYMLINK,$1) +quiet ?= $($(shell echo $1 | sed -e s'/ .*//')) %.o: %.cc $(global_deps) - $(call quiet,CXX,$(CXXFLAGS)) -c $(FINAL_CXXFLAGS) $< -o $@ + $(call quiet,CXX $(CXXFLAGS)) -c $(FINAL_CXXFLAGS) $< -o $@ %.o: %.c $(global_deps) - $(call quiet,CC,$(CFLAGS)) -c $(FINAL_CFLAGS) $< -o $@ + $(call quiet,CC $(CFLAGS)) -c $(FINAL_CFLAGS) $< -o $@ %.elc: %.el $(call quiet,EMACS) --directory emacs -batch -f batch-byte-compile $< @@ -173,22 +165,22 @@ notmuch_client_srcs = \ notmuch_client_modules = $(notmuch_client_srcs:.c=.o) notmuch: $(notmuch_client_modules) lib/libnotmuch.a - $(call quiet,CC,$(LDFLAGS)) $^ $(FINAL_LDFLAGS) -o $@ + $(call quiet,CC $(CFLAGS)) $^ $(FINAL_LDFLAGS) -o $@ notmuch-shared: $(notmuch_client_modules) lib/libnotmuch.so - $(call quiet,CC,$(LDFLAGS)) -Llib -lnotmuch $(notmuch_client_modules) $(FINAL_LDFLAGS) -o $@ + $(call quiet,CC $(CFLAGS)) -Llib -lnotmuch $(notmuch_client_modules) $(FINAL_LDFLAGS) -o $@ notmuch.1.gz: notmuch.1 - $(call quiet,gzip) --stdout $^ > $@ + gzip --stdout $^ > $@ .PHONY: install install: all notmuch.1.gz - $(call quiet_mkdir, $(DESTDIR)$(prefix)/bin/) - $(call quiet_mkdir, $(DESTDIR)$(libdir)/) - $(call quiet_mkdir, $(DESTDIR)$(prefix)/include/) - $(call quiet_mkdir, $(DESTDIR)$(prefix)/share/man/man1) - $(call quiet_install_bin, notmuch-shared $(DESTDIR)$(prefix)/bin/notmuch) - $(call quiet_install_data, notmuch.1.gz $(DESTDIR)$(prefix)/share/man/man1/) + mkdir -p $(DESTDIR)$(prefix)/bin/ + mkdir -p $(DESTDIR)$(libdir)/ + mkdir -p $(DESTDIR)$(prefix)/include/ + mkdir -p $(DESTDIR)$(prefix)/share/man/man1 + install notmuch-shared $(DESTDIR)$(prefix)/bin/notmuch + install -m0644 notmuch.1.gz $(DESTDIR)$(prefix)/share/man/man1/ ifeq ($(MAKECMDGOALS), install) @echo "" @echo "Notmuch is now installed." @@ -204,18 +196,18 @@ endif .PHONY: install-desktop install-desktop: - $(call quiet,MKDIR) $(DESTDIR)$(desktop_dir) + mkdir -p $(DESTDIR)$(desktop_dir) desktop-file-install --mode 0644 --dir $(DESTDIR)$(desktop_dir) notmuch.desktop .PHONY: install-bash install-bash: - $(call quiet-mkdir, $(DESTDIR)$(bash_completion_dir)) - $(call quiet_install_data, contrib/notmuch-completion.bash $(DESTDIR)$(bash_completion_dir)/notmuch) + mkdir -p $(DESTDIR)$(bash_completion_dir) + install -m0644 contrib/notmuch-completion.bash $(DESTDIR)$(bash_completion_dir)/notmuch .PHONY: install-zsh install-zsh: - $(call quiet_mkdir, $(DESTDIR)$(zsh_completion_dir)) - $(call quiet_install_data, contrib/notmuch-completion.zsh $(DESTDIR)$(zsh_completion_dir)/notmuch) + mkdir -p $(DESTDIR)$(zsh_completion_dir) + install -m0644 contrib/notmuch-completion.zsh $(DESTDIR)$(zsh_completion_dir)/notmuch SRCS := $(SRCS) $(notmuch_client_srcs) CLEAN := $(CLEAN) notmuch notmuch-shared $(notmuch_client_modules) notmuch.elc notmuch.1.gz diff --git a/configure b/configure index df1636d2..d56caadd 100755 --- a/configure +++ b/configure @@ -279,21 +279,6 @@ CXX = ${CXX} # Command to execute emacs from Makefiles EMACS = emacs --quick -# Command to execute gzip from Makefiles -gzip = gzip - -# Command to create a directory -MKDIR = install -d - -# Command to install an executable -INSTALL-BIN = install - -# Command to install a non-executable file (documentation, etc.) -INSTALL-DATA = install -m0644 - -# Command to create a symbolic link -SYMLINK = ln -sf - # Default FLAGS for C compiler (can be overridden by user such as "make CFLAGS=-g") CFLAGS = ${CFLAGS} diff --git a/emacs/Makefile.local b/emacs/Makefile.local index 76cc64f9..51d045c3 100644 --- a/emacs/Makefile.local +++ b/emacs/Makefile.local @@ -14,8 +14,8 @@ emacs: $(emacs_bytecode) .PHONY: install-emacs install-emacs: install emacs - $(call quiet_mkdir, $(DESTDIR)/$(emacs_lispdir)) - $(call quiet_install_data, $(emacs_sources) $(emacs_bytecode) $(DESTDIR)$(emacs_lispdir)) + mkdir -p $(DESTDIR)/$(emacs_lispdir) + install -m0644 $(emacs_sources) $(emacs_bytecode) $(DESTDIR)$(emacs_lispdir) @echo "" @echo "The notmuch emacs client is now installed." @echo "" diff --git a/lib/Makefile.local b/lib/Makefile.local index c98fb673..03a458b2 100644 --- a/lib/Makefile.local +++ b/lib/Makefile.local @@ -51,23 +51,23 @@ $(dir)/libnotmuch.a: $(libnotmuch_modules) $(call quiet,AR) rcs $@ $^ $(dir)/$(LIBNAME): $(libnotmuch_modules) - $(call quiet,CXX,$(LDFLAGS)) $^ $(FINAL_LDFLAGS) -shared -Wl,-soname=$(SONAME) -o $@ + $(call quiet,CXX $(CXXFLAGS)) $^ $(FINAL_LDFLAGS) -shared -Wl,-soname=$(SONAME) -o $@ $(dir)/$(SONAME): $(dir)/$(LIBNAME) - $(call quiet_symlink, $(LIBNAME) $@) + ln -sf $(LIBNAME) $@ $(dir)/$(LINKER_NAME): $(dir)/$(SONAME) - $(call quiet_symlink, $(LIBNAME) $@) + ln -sf $(LIBNAME) $@ install: install-$(dir) install-$(dir): - $(call quiet_mkdir, $(DESTDIR)$(libdir)/) - $(call quiet_install_data, $(dir)/$(LIBNAME) $(DESTDIR)$(libdir)/) - $(call quiet_symlink, $(LIBNAME) $(DESTDIR)$(libdir)/$(SONAME)) - $(call quiet_symlink, $(LIBNAME) $(DESTDIR)$(libdir)/$(LINKER_NAME)) - $(call quiet_mkdir, $(DESTDIR)$(prefix)/include/) - $(call quiet_install_data, $(dir)/notmuch.h $(DESTDIR)$(prefix)/include/) + mkdir -p $(DESTDIR)$(libdir)/ + install -m0644 $(dir)/$(LIBNAME) $(DESTDIR)$(libdir)/ + ln -sf $(LIBNAME) $(DESTDIR)$(libdir)/$(SONAME) + ln -sf $(LIBNAME) $(DESTDIR)$(libdir)/$(LINKER_NAME) + mkdir -p $(DESTDIR)$(prefix)/include/ + install -m0644 $(dir)/notmuch.h $(DESTDIR)$(prefix)/include/ SRCS := $(SRCS) $(libnotmuch_c_srcs) $(libnotmuch_cxx_srcs) CLEAN := $(CLEAN) $(libnotmuch_modules) $(dir)/$(SONAME) $(dir)/$(LINKER_NAME) $(dir)$(LIBNAME) libnotmuch.a