From f869b5aacafe64e79abb58fa99afd95012af0bde Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Sun, 25 Jan 2026 17:34:53 +0100 Subject: [PATCH] defs.mk: Define Q and use it in *.mk Define Q ?= @, and replace @ in recipes by $(Q). Meant to be overridden from the environment for debugging as in Q= make Signed-off-by: Jan Lindemann --- make/Makefile | 2 +- make/debugger.mk | 2 +- make/defs.mk | 3 ++- make/depend.mk | 6 +++--- make/dev-utils.mk | 2 +- make/include.mk | 2 +- make/install-files.mk | 2 +- make/list-files.mk | 8 ++++---- make/make.mk | 2 +- make/path-rules.mk | 4 ++-- make/projects-dir-minimal.mk | 3 ++- make/projects-dir.mk | 26 +++++++++++++------------- make/rpmdist.mk | 10 +++++----- make/rules.mk | 12 ++++++------ make/topdir.mk | 8 ++++---- 15 files changed, 47 insertions(+), 45 deletions(-) diff --git a/make/Makefile b/make/Makefile index 8077666f..ab1bd9ad 100644 --- a/make/Makefile +++ b/make/Makefile @@ -20,4 +20,4 @@ install: $(INSTALL_MAKEDIR)/winres.rc.tmpl endif grep-vars: - @sed '/^ *[A-Z]/!d; s/^[ ]*//g; s/[=+?:].*//g; s/[ ]*//g' *.mk | sort -u + $(Q)sed '/^ *[A-Z]/!d; s/^[ ]*//g; s/[=+?:].*//g; s/[ ]*//g' *.mk | sort -u diff --git a/make/debugger.mk b/make/debugger.mk index d7712317..79fea374 100644 --- a/make/debugger.mk +++ b/make/debugger.mk @@ -80,4 +80,4 @@ coreclean: centralcore-clean centralcore-clean: $(RM) -f /var/cores/core* /var/cores/vgcore* || exit 0 echo-pid: - @echo PID = $(PID) + $(Q)echo PID = $(PID) diff --git a/make/defs.mk b/make/defs.mk index d9653ecf..07e599f6 100644 --- a/make/defs.mk +++ b/make/defs.mk @@ -10,6 +10,7 @@ MAKEFLAGS += -r empty := space := $(empty) $(empty) comma := , +Q ?= @ # ----- executables @@ -528,6 +529,6 @@ doc-project: $(BROWSER) $(JANWARE_URL_DOC_PROJECT) echo-targets: - @make -pqR | sed '/^[a-zA-Z-]\+:/!d; s/:.*//' | sort + $(Q)make -pqR | sed '/^[a-zA-Z-]\+:/!d; s/:.*//' | sort endif # ifndef JW_PKG_DEF_MK_INCLUDED diff --git a/make/depend.mk b/make/depend.mk index 23e1892d..e3803afa 100644 --- a/make/depend.mk +++ b/make/depend.mk @@ -37,9 +37,9 @@ endif show-vars: show-vars-depend-mk show-vars-depend-mk: - @echo DEPEND_MK = $(DEPEND_MK) - @echo BUILD_HDR = $(BUILD_HDR) - @echo SRC_H = $(SRC_H) + $(Q)echo DEPEND_MK = $(DEPEND_MK) + $(Q)echo BUILD_HDR = $(BUILD_HDR) + $(Q)echo SRC_H = $(SRC_H) endif # DEPEND_MK_INCLUDED DEPEND_MK_INCLUDED := true diff --git a/make/dev-utils.mk b/make/dev-utils.mk index 25c6cc59..e3c03211 100644 --- a/make/dev-utils.mk +++ b/make/dev-utils.mk @@ -45,7 +45,7 @@ indent-makefiles: --maxdepth 1 cleanup-spaces: - @$(PROCESS_TEXT_FILES_PY) cleanup-spaces \ + $(Q)$(PROCESS_TEXT_FILES_PY) cleanup-spaces \ --name-regex="$(CLEANUP_SPACES_NAME_REGEX)" \ --root=$(MAKEFILE_INDENT_ROOT) diff --git a/make/include.mk b/make/include.mk index ef5e244f..79177c67 100644 --- a/make/include.mk +++ b/make/include.mk @@ -39,6 +39,6 @@ install-links: DEVELOPMENT=false make do-install-links do-install-links: - @$(call install_links,HDR) + $(Q)$(call install_links,HDR) include $(JWBDIR)/make/rules.mk diff --git a/make/install-files.mk b/make/install-files.mk index 5d8f524a..a2d898cf 100644 --- a/make/install-files.mk +++ b/make/install-files.mk @@ -30,7 +30,7 @@ done.clean: $(RM) -f *.done $(TARGET_DIR)/%: $(SOURCE_BASE)/% - @if [ -L "$<" -o -f "$<" ]; then \ + $(Q)if [ -L "$<" -o -f "$<" ]; then \ echo $(INSTALL) -p -D -m $(TARGET_MODE) -o $(TARGET_OWNER) -g $(TARGET_GROUP) "$<" "$@" ;\ $(INSTALL) -p -D -m $(TARGET_MODE) -o $(TARGET_OWNER) -g $(TARGET_GROUP) "$<" "$@" ;\ else \ diff --git a/make/list-files.mk b/make/list-files.mk index 2c577b03..16432322 100644 --- a/make/list-files.mk +++ b/make/list-files.mk @@ -4,15 +4,15 @@ ifndef LIST_FILES_MK_INCLUDED LIST_FILES_MK_INCLUDED := true list-files echo-files: - @$(LIST_VCS_FILES) -f + $(Q)$(LIST_VCS_FILES) -f list-text-files echo-text-files: - @$(LIST_VCS_FILES) -ft + $(Q)$(LIST_VCS_FILES) -ft tar-files: - @$(LIST_VCS_FILES) $(TOPDIR) -f | xargs tar -C $(TOPDIR) -cf - + $(Q)$(LIST_VCS_FILES) $(TOPDIR) -f | xargs tar -C $(TOPDIR) -cf - cpio-files: - @$(LIST_VCS_FILES) $(TOPDIR) -f | cpio --directory=$(TOPDIR) -o -H newc + $(Q)$(LIST_VCS_FILES) $(TOPDIR) -f | cpio --directory=$(TOPDIR) -o -H newc endif # ifndef LIST_FILES_MK_INCLUDED diff --git a/make/make.mk b/make/make.mk index acc0c142..036963cf 100644 --- a/make/make.mk +++ b/make/make.mk @@ -56,7 +56,7 @@ install-links: DEVELOPMENT=false make do-install-links do-install-links: - @$(call install_links,MAKE) + $(Q)$(call install_links,MAKE) ifeq ($(CREATE_PKG_CONFIG),true) diff --git a/make/path-rules.mk b/make/path-rules.mk index 2f1315c8..551540f4 100644 --- a/make/path-rules.mk +++ b/make/path-rules.mk @@ -1,4 +1,4 @@ all: libpath: - @echo "export LD_LIBRARY_PATH=$(LD_LIBRARY_PATH)" - @echo "export PATH=.:$(PATH)" + $(Q)echo "export LD_LIBRARY_PATH=$(LD_LIBRARY_PATH)" + $(Q)echo "export PATH=.:$(PATH)" diff --git a/make/projects-dir-minimal.mk b/make/projects-dir-minimal.mk index 795ad46a..85b34c7e 100644 --- a/make/projects-dir-minimal.mk +++ b/make/projects-dir-minimal.mk @@ -18,6 +18,7 @@ PROJECTS_MAKEFILE_NAME := $(firstword $(MAKEFILE_LIST)) -include local.mk JWBDIR ?= jw-pkg +Q ?= @ ifeq ($(origin PROJECTS_DIR_REMOTE_BASE),undefined) ifneq ($(wildcard $(JWBDIR)),) @@ -63,7 +64,7 @@ all: include $(PROJECTS_DIR_INCLUDE_MK) $(PROJECTS_DIR_INCLUDE_MK): | $(JWBDIR) - @echo Provided $@ + $(Q)echo Provided $@ $(JWBDIR): git $(GIT_GLOBAL_OPTS) clone $(addprefix -b ,$(JW_PKG_BRANCH)) $(JWBDIR_GIT_REMOTE) $(JWBDIR) diff --git a/make/projects-dir.mk b/make/projects-dir.mk index e77843fe..eb632bfc 100644 --- a/make/projects-dir.mk +++ b/make/projects-dir.mk @@ -163,7 +163,7 @@ install: @echo " Target install is not supported by this Makefile." @echo " Target pkg-rebuild-reinstall might be what you are looking for." @echo - @exit 1 + $(Q)exit 1 # --- build targets @@ -185,15 +185,15 @@ build-order-%: $(filter-out $(UNAVAILABLE_TARGETS),pull.done) build-order: build-order-all echo-build-deps: - @$(PROJECTS_PY) required-os-pkg --skip-excluded --flavours "build" $(TARGET_PROJECTS) + $(Q)$(PROJECTS_PY) required-os-pkg --skip-excluded --flavours "build" $(TARGET_PROJECTS) echo-install-deps: - @$(PROJECTS_PY) required-os-pkg --skip-excluded --flavours "build run" $(TARGET_PROJECTS) + $(Q)$(PROJECTS_PY) required-os-pkg --skip-excluded --flavours "build run" $(TARGET_PROJECTS) echo-release-deps: - @$(PROJECTS_PY) required-os-pkg --skip-excluded --flavours "build run release" $(TARGET_PROJECTS) + $(Q)$(PROJECTS_PY) required-os-pkg --skip-excluded --flavours "build run release" $(TARGET_PROJECTS) echo-os: - @$(GET_OS_SH) + $(Q)$(GET_OS_SH) echo-projects: @echo $(PROJECTS) @@ -211,22 +211,22 @@ distclean: clean.text-files-cache clean.text-files-cache: rm -f $(TEXT_FILES_CACHE) list-files: - @realpath PROJECTS_MAKEFILE_NAME - @for p in $(BUILD_PROJECTS); do \ + $(Q)realpath PROJECTS_MAKEFILE_NAME + $(Q)for p in $(BUILD_PROJECTS); do \ $(LIST_VCS_FILES_SH) -znf $$p | sed -z "s/^/$$p\//" | \ xargs -0 realpath -q ;\ done $(TEXT_FILES_CACHE): - @make -s text-files-update + $(Q)make -s text-files-update text-files-update: make -s --no-print-directory list-files | tr '\n' '\0' | xargs -0 file -N | sed "/:.*text/I !d; s/:.*//" > $(TEXT_FILES_CACHE).tmp mv $(TEXT_FILES_CACHE).tmp $(TEXT_FILES_CACHE) text-files-update-all: - @PROJECTS_TXT= make text-files-update + $(Q)PROJECTS_TXT= make text-files-update text-files-list list-text-files: | $(TEXT_FILES_CACHE) - @cat $(TEXT_FILES_CACHE) + $(Q)cat $(TEXT_FILES_CACHE) text-files-list-0 list-text-files-0: | $(TEXT_FILES_CACHE) - @cat $(TEXT_FILES_CACHE) | tr '\n' '\0' + $(Q)cat $(TEXT_FILES_CACHE) | tr '\n' '\0' cloc: for p in $(GIT_PROJECTS); do \ @@ -334,7 +334,7 @@ git-clone-%: $(SSH_WRAPPER_SH) $(PGIT_SH_CLONE_DEFAULT) git-show-non-master-branches: - @$(PGIT_SH) branch 2>&1 | \ + $(Q)$(PGIT_SH) branch 2>&1 | \ sed '/^#\|^*/!d; s/.*git -C //; s/ *branch *//; s/ *\* *//' | \ while read p; do \ read b ;\ @@ -344,7 +344,7 @@ git-show-non-master-branches: done git-show-pushable-master-branches: - @for p in $(BUILD_PROJECTS); do \ + $(Q)for p in $(BUILD_PROJECTS); do \ if git -C $$p log --oneline origin/master.. | grep . >/dev/null; then \ echo ======================= $$p ;\ git -C $$p log --oneline origin/master.. ;\ diff --git a/make/rpmdist.mk b/make/rpmdist.mk index d61dd278..03aac5b8 100644 --- a/make/rpmdist.mk +++ b/make/rpmdist.mk @@ -198,7 +198,7 @@ pkg-upload-local.dist: pkgbuild.dist touch $@ pkginstall.dist: pkg-build.dist - @set -e; for p in $(BINARY_RPM); do \ + $(Q)set -e; for p in $(BINARY_RPM); do \ if ! $(RPM) -q `basename $$p | $(SED) "s/[._]$(RPM_ARCH)\.$(RPM_SUFFIX)//; s/_\([0-9.-]\+\)$$/-\1/"` > /dev/null 2>&1 ; then \ echo + installing $$p ;\ sudo $(RPM) -U $$(realpath $$p); \ @@ -214,7 +214,7 @@ pkginstall.dist: pkg-build.dist # touch $@ pkguninstall.dist: - @set -e; for s in devel run; do \ + $(Q)set -e; for s in devel run; do \ if $(RPM) -q $(RPM_PROJECT)-$$s > /dev/null 2>&1 ; then \ echo + removing $(RPM_PROJECT)-$$s ;\ sudo $(RPM) -e $(RPM_PROJECT)-$$s --nodeps --allmatches; \ @@ -312,13 +312,13 @@ md5: echo $(HASH) > HASH pkg-next-build: - @$(increase_build_number) + $(Q)$(increase_build_number) try-reinstall: $(check_reinstall_old) pkg-update-release: - @if [ "`$(CAT) HASH`" != "$(HASH)" ]; then \ + $(Q)if [ "`$(CAT) HASH`" != "$(HASH)" ]; then \ echo + source was modified ;\ $(increase_build_number) ;\ elif ! $(check_reinstall_old); then \ @@ -327,7 +327,7 @@ pkg-update-release: fi pkg-check-release: - @if [ "`$(CAT) HASH`" != "$(HASH)" ]; then \ + $(Q)if [ "`$(CAT) HASH`" != "$(HASH)" ]; then \ echo + source was modified ;\ else \ echo + source is unmodified ;\ diff --git a/make/rules.mk b/make/rules.mk index 09f1ca0e..ed21848f 100644 --- a/make/rules.mk +++ b/make/rules.mk @@ -48,7 +48,7 @@ distclean: clean # -- phony targets checkroot: - @if [ "$(CHECK_ROOT)" = true -o "$(CHECK_ROOT)" = TRUE ] ; then \ + $(Q)if [ "$(CHECK_ROOT)" = true -o "$(CHECK_ROOT)" = TRUE ] ; then \ echo "Error: You can only do this if either" ;\ echo " a) you are user \"root\"" ;\ echo " b) the Makefile variable CHECK_ROOT does not contain \"true\" as value." ;\ @@ -235,11 +235,11 @@ ifneq ($(TARGET),mingw) echo-ldd: ifneq ($(wildcard *.so),) @echo "======= libraries:" - @for o in *.so; do echo "------- $$o"; ldd $$o; done + $(Q)for o in *.so; do echo "------- $$o"; ldd $$o; done endif ifneq ($(EXE_PATH),) @echo "======= executables:" - @for o in $(EXE_PATH); do echo "------- $$o"; ldd $$o; done + $(Q)for o in $(EXE_PATH); do echo "------- $$o"; ldd $$o; done endif endif @@ -338,7 +338,7 @@ $(PLUGIN) $(PLUGIN_LIB): define check_not_empty check_not_empty_$(1): - @if [ -z "$($(1))" ]; then \ + $(Q)if [ -z "$($(1))" ]; then \ echo "$(1) is undefined" >&2 ;\ exit 1 ;\ fi @@ -391,7 +391,7 @@ $$(TOPDIR)/dir_install_$(1).done: touch $$@ $$(BUILD_$(1)DIR)/%: % | $$(TOPDIR)/dir_build_$(1).done - @if [ ! $$< -ef $$@ -a "`echo $$< | $(SED) 's/\..*//'`" != local ]; then \ + $(Q)if [ ! $$< -ef $$@ -a "`echo $$< | $(SED) 's/\..*//'`" != local ]; then \ echo $(BIN_INSTALL) -D -p -m $($(1)MODE) $$< $$@ ;\ $(BIN_INSTALL) -D -p -m $($(1)MODE) $$< $$@ ;\ $(RM) -f $$(TOPDIR)/dirs-*.done ;\ @@ -427,7 +427,7 @@ $(INSTALLED_PROFILE_PATH_SCRIPT): $(TOPDIR)/profiledir.done $(INSTALL) -p -o $(PROFILEOWNER) -g $(PROFILEGROUP) -m $(PROFILEMODE) path_script.sh $@ find: - @bash $(JWB_SCRIPT_DIR)/scm.sh ls-files + $(Q)bash $(JWB_SCRIPT_DIR)/scm.sh ls-files collect: bash $(JWB_SCRIPT_DIR)/collect-installed-pkg-changes.sh -t $(TOPDIR) diff --git a/make/topdir.mk b/make/topdir.mk index 45e66e1d..21f0966d 100644 --- a/make/topdir.mk +++ b/make/topdir.mk @@ -90,7 +90,7 @@ topdir.mrproper: topdir.distclean topdir.install: prefix.done $(INSTALLED_TOPDIR_FILES) do-install-links: - @@cwd=$(shell $(PWD)); \ + $(Q)@cwd=$(shell $(PWD)); \ echo "o in $(INSTALL_LIBDIR):" ;\ find lib -name '*.so' -o -name '*.so.*' -o -name '*.a' -o -name '*.dll' | \ $(SED) 's%^\./%%' | \ @@ -176,7 +176,7 @@ $(GIT_DESCR): $(PROJECT_DESCR_FILE) mv $@.tmp $@ git-init.done: - @if [ -e .git ]; then \ + $(Q)if [ -e .git ]; then \ echo $(TOPDIR)/.git already exists, not running git init ;\ else \ @echo git init ;\ @@ -189,7 +189,7 @@ prefix.done: touch $@ echo-build-deps: - @echo $(call proj_query, required-os-pkg --flavours "build" $(PROJECT)) + $(Q)echo $(call proj_query, required-os-pkg --flavours "build" $(PROJECT)) git-ssh-%: bash -c "`git remote get-url --push $* | sed 's|ssh://||; s|\([^/]\+\)/\(.*\)|LC_CDPATH=/\2 ssh -o SendEnv=LC_CDPATH \1|'`" @@ -221,7 +221,7 @@ pkg-install-testbuild-deps: $(PKG_MANAGER_SH) install $(DASH_Y) $(BASE_PKGS) $(shell $(proj_query_cmd) pkg-requires --delimiter=' ' --no-version build,run,release $(PROJECT)) echo-hash: - @/bin/bash $(PKG_SH_EXE) hash + $(Q)/bin/bash $(PKG_SH_EXE) hash recache-vars: rm -f $(TOPDIR)/make clean-cache cache