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.
This commit is contained in:
Carl Worth 2010-04-06 10:00:30 -07:00
parent 4c7ee0f016
commit f89b3d16db
4 changed files with 30 additions and 53 deletions

View file

@ -103,28 +103,20 @@ release-verify-newer: release-verify-version
# user how to enable verbose compiles. # user how to enable verbose compiles.
ifeq ($(V),) ifeq ($(V),)
quiet_DOC := "Use \"$(MAKE) V=1\" to see the verbose compile lines.\n" 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 = @printf $(quiet_DOC)$(eval quiet_DOC:=)"$1 $@\n"; $($(shell echo $1 | sed -e s'/ .*//'))
quiet_args = @printf $(quiet_DOC)$(eval quiet_DOC:=)" %12s$2\n" $1; $($1) $2
endif endif
# The user has explicitly enabled quiet compilation. # The user has explicitly enabled quiet compilation.
ifeq ($(V),0) ifeq ($(V),0)
quiet = @printf " %12s $@\n" "$1 $2"; $($1) quiet = @printf "$1 $@\n"; $($(shell echo $1 | sed -e s'/ .*//'))
quiet_args = @printf " %12s$2\n" $1; $($1) $2
endif endif
# Otherwise, print the full command line. # Otherwise, print the full command line.
quiet ?= $($1) quiet ?= $($(shell echo $1 | sed -e s'/ .*//'))
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)
%.o: %.cc $(global_deps) %.o: %.cc $(global_deps)
$(call quiet,CXX,$(CXXFLAGS)) -c $(FINAL_CXXFLAGS) $< -o $@ $(call quiet,CXX $(CXXFLAGS)) -c $(FINAL_CXXFLAGS) $< -o $@
%.o: %.c $(global_deps) %.o: %.c $(global_deps)
$(call quiet,CC,$(CFLAGS)) -c $(FINAL_CFLAGS) $< -o $@ $(call quiet,CC $(CFLAGS)) -c $(FINAL_CFLAGS) $< -o $@
%.elc: %.el %.elc: %.el
$(call quiet,EMACS) --directory emacs -batch -f batch-byte-compile $< $(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_client_modules = $(notmuch_client_srcs:.c=.o)
notmuch: $(notmuch_client_modules) lib/libnotmuch.a 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 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 notmuch.1.gz: notmuch.1
$(call quiet,gzip) --stdout $^ > $@ gzip --stdout $^ > $@
.PHONY: install .PHONY: install
install: all notmuch.1.gz install: all notmuch.1.gz
$(call quiet_mkdir, $(DESTDIR)$(prefix)/bin/) mkdir -p $(DESTDIR)$(prefix)/bin/
$(call quiet_mkdir, $(DESTDIR)$(libdir)/) mkdir -p $(DESTDIR)$(libdir)/
$(call quiet_mkdir, $(DESTDIR)$(prefix)/include/) mkdir -p $(DESTDIR)$(prefix)/include/
$(call quiet_mkdir, $(DESTDIR)$(prefix)/share/man/man1) mkdir -p $(DESTDIR)$(prefix)/share/man/man1
$(call quiet_install_bin, notmuch-shared $(DESTDIR)$(prefix)/bin/notmuch) install notmuch-shared $(DESTDIR)$(prefix)/bin/notmuch
$(call quiet_install_data, notmuch.1.gz $(DESTDIR)$(prefix)/share/man/man1/) install -m0644 notmuch.1.gz $(DESTDIR)$(prefix)/share/man/man1/
ifeq ($(MAKECMDGOALS), install) ifeq ($(MAKECMDGOALS), install)
@echo "" @echo ""
@echo "Notmuch is now installed." @echo "Notmuch is now installed."
@ -204,18 +196,18 @@ endif
.PHONY: install-desktop .PHONY: install-desktop
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 desktop-file-install --mode 0644 --dir $(DESTDIR)$(desktop_dir) notmuch.desktop
.PHONY: install-bash .PHONY: install-bash
install-bash: install-bash:
$(call quiet-mkdir, $(DESTDIR)$(bash_completion_dir)) mkdir -p $(DESTDIR)$(bash_completion_dir)
$(call quiet_install_data, contrib/notmuch-completion.bash $(DESTDIR)$(bash_completion_dir)/notmuch) install -m0644 contrib/notmuch-completion.bash $(DESTDIR)$(bash_completion_dir)/notmuch
.PHONY: install-zsh .PHONY: install-zsh
install-zsh: install-zsh:
$(call quiet_mkdir, $(DESTDIR)$(zsh_completion_dir)) mkdir -p $(DESTDIR)$(zsh_completion_dir)
$(call quiet_install_data, contrib/notmuch-completion.zsh $(DESTDIR)$(zsh_completion_dir)/notmuch) install -m0644 contrib/notmuch-completion.zsh $(DESTDIR)$(zsh_completion_dir)/notmuch
SRCS := $(SRCS) $(notmuch_client_srcs) SRCS := $(SRCS) $(notmuch_client_srcs)
CLEAN := $(CLEAN) notmuch notmuch-shared $(notmuch_client_modules) notmuch.elc notmuch.1.gz CLEAN := $(CLEAN) notmuch notmuch-shared $(notmuch_client_modules) notmuch.elc notmuch.1.gz

15
configure vendored
View file

@ -279,21 +279,6 @@ CXX = ${CXX}
# Command to execute emacs from Makefiles # Command to execute emacs from Makefiles
EMACS = emacs --quick 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") # Default FLAGS for C compiler (can be overridden by user such as "make CFLAGS=-g")
CFLAGS = ${CFLAGS} CFLAGS = ${CFLAGS}

View file

@ -14,8 +14,8 @@ emacs: $(emacs_bytecode)
.PHONY: install-emacs .PHONY: install-emacs
install-emacs: install emacs install-emacs: install emacs
$(call quiet_mkdir, $(DESTDIR)/$(emacs_lispdir)) mkdir -p $(DESTDIR)/$(emacs_lispdir)
$(call quiet_install_data, $(emacs_sources) $(emacs_bytecode) $(DESTDIR)$(emacs_lispdir)) install -m0644 $(emacs_sources) $(emacs_bytecode) $(DESTDIR)$(emacs_lispdir)
@echo "" @echo ""
@echo "The notmuch emacs client is now installed." @echo "The notmuch emacs client is now installed."
@echo "" @echo ""

View file

@ -51,23 +51,23 @@ $(dir)/libnotmuch.a: $(libnotmuch_modules)
$(call quiet,AR) rcs $@ $^ $(call quiet,AR) rcs $@ $^
$(dir)/$(LIBNAME): $(libnotmuch_modules) $(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) $(dir)/$(SONAME): $(dir)/$(LIBNAME)
$(call quiet_symlink, $(LIBNAME) $@) ln -sf $(LIBNAME) $@
$(dir)/$(LINKER_NAME): $(dir)/$(SONAME) $(dir)/$(LINKER_NAME): $(dir)/$(SONAME)
$(call quiet_symlink, $(LIBNAME) $@) ln -sf $(LIBNAME) $@
install: install-$(dir) install: install-$(dir)
install-$(dir): install-$(dir):
$(call quiet_mkdir, $(DESTDIR)$(libdir)/) mkdir -p $(DESTDIR)$(libdir)/
$(call quiet_install_data, $(dir)/$(LIBNAME) $(DESTDIR)$(libdir)/) install -m0644 $(dir)/$(LIBNAME) $(DESTDIR)$(libdir)/
$(call quiet_symlink, $(LIBNAME) $(DESTDIR)$(libdir)/$(SONAME)) ln -sf $(LIBNAME) $(DESTDIR)$(libdir)/$(SONAME)
$(call quiet_symlink, $(LIBNAME) $(DESTDIR)$(libdir)/$(LINKER_NAME)) ln -sf $(LIBNAME) $(DESTDIR)$(libdir)/$(LINKER_NAME)
$(call quiet_mkdir, $(DESTDIR)$(prefix)/include/) mkdir -p $(DESTDIR)$(prefix)/include/
$(call quiet_install_data, $(dir)/notmuch.h $(DESTDIR)$(prefix)/include/) install -m0644 $(dir)/notmuch.h $(DESTDIR)$(prefix)/include/
SRCS := $(SRCS) $(libnotmuch_c_srcs) $(libnotmuch_cxx_srcs) SRCS := $(SRCS) $(libnotmuch_c_srcs) $(libnotmuch_cxx_srcs)
CLEAN := $(CLEAN) $(libnotmuch_modules) $(dir)/$(SONAME) $(dir)/$(LINKER_NAME) $(dir)$(LIBNAME) libnotmuch.a CLEAN := $(CLEAN) $(libnotmuch_modules) $(dir)/$(SONAME) $(dir)/$(LINKER_NAME) $(dir)$(LIBNAME) libnotmuch.a