1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

make: update make.tmpl

Add new define 'newline' for use in 'foreach()'
Add new $(SHOW) for makefile printing output
Add 'make print-VAR' for easier debugging of Makefiles' variables.
This commit is contained in:
Zdenek Kabelac 2022-09-05 15:56:58 +02:00
parent 85b436642b
commit 2c7b913049
2 changed files with 50 additions and 13 deletions

View File

@ -13,11 +13,9 @@
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
ifeq ($(V),1)
Q=
else
Q=@
endif
V ?= $(if ("@SILENT_RULES@","yes"),,1)
Q := $(if $(V),,@)
SHOW := $(if $(V),@true,@echo)
SHELL = @SHELL@
@ -129,6 +127,17 @@ DEFAULT_RUN_DIR = @DEFAULT_RUN_DIR@
DEFAULT_PID_DIR = @DEFAULT_PID_DIR@
DEFAULT_MANGLING = @MANGLING@
#----------------------------------------------------------------------
# From http://blog.melski.net/tag/debugging-makefiles/
#
# Usage: make print-CC print-CXX print-LD
#----------------------------------------------------------------------
print-%:
@echo '$*=$($*)'
@echo ' origin = $(origin $*)'
@echo ' flavor = $(flavor $*)'
@echo ' value = $(value $*)'
# Setup vpath search paths for some suffixes
vpath %.c $(srcdir)
vpath %.cpp $(srcdir)
@ -145,6 +154,10 @@ ifndef MAKEFLAGS
MAKEFLAGS = @JOBS@
endif
ifneq (1, $(firstword $(V)))
MAKEFLAGS += --no-print-directory
endif
# Handle installation of files
ifeq ("@WRITE_INSTALL@", "yes")
# leaving defaults
@ -524,6 +537,7 @@ endif
ifeq ("@USE_TRACKING@","yes")
ifeq (,$(findstring $(MAKECMDGOALS),cscope.out cflow clean distclean lcov \
help check check_local check_cluster check_lvmpolld))
.SECONDARY:
# Note: no tabs before -include
-include $(SOURCES:.c=.d) $(SOURCES2:.c=.d) $(CXXSOURCES:.cpp=.d)
endif

View File

@ -13,15 +13,10 @@
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
ifneq ("@SILENT_RULES@","yes")
V ?= 1
endif
ifeq ($(V),1)
Q=
else
Q=@
endif
V ?= $(if ("@SILENT_RULES@","yes"),,1)
Q := $(if $(V),,@)
SHOW := $(if $(V),@true,@echo)
SHELL = @SHELL@
@ -134,6 +129,18 @@ PYTHON_PREFIX = $(prefix)
python2dir = @PYTHON2DIR@
python3dir = @PYTHON3DIR@
# Define macro NewLine for use in $(foreach) with 2 blank lines
ifeq (1, $(firstword $(V)))
define newline
endef
else
define newline
;
endef
endif
USRLIB_RELPATH = $(shell echo $(abspath $(usrlibdir) $(libdir)) | \
$(AWK) -f $(top_srcdir)/scripts/relpath.awk)
@ -148,6 +155,17 @@ DEFAULT_RUN_DIR = @DEFAULT_RUN_DIR@
DEFAULT_PID_DIR = @DEFAULT_PID_DIR@
DEFAULT_MANGLING = @MANGLING@
#----------------------------------------------------------------------
# From http://blog.melski.net/tag/debugging-makefiles/
#
# Usage: make print-CC print-CXX print-LD
#----------------------------------------------------------------------
print-%:
@echo '$*=$($*)'
@echo ' origin = $(origin $*)'
@echo ' flavor = $(flavor $*)'
@echo ' value = $(value $*)'
# Setup vpath search paths for some suffixes
vpath %.c $(srcdir)
vpath %.cpp $(srcdir)
@ -164,6 +182,10 @@ ifndef MAKEFLAGS
MAKEFLAGS = @JOBS@
endif
ifneq (1, $(firstword $(V)))
MAKEFLAGS += --no-print-directory
endif
# Handle installation of files
ifeq ("@WRITE_INSTALL@", "yes")
# leaving defaults
@ -582,6 +604,7 @@ endif
ifeq ("$(USE_TRACKING)","yes")
ifeq (,$(findstring $(MAKECMDGOALS),cscope.out cflow clean distclean lcov lcov-reset \
help check check_local check_cluster check_lvmpolld run-unit-test tags))
.SECONDARY:
# Note: no tabs before -include
-include $(SOURCES:.c=.d) $(SOURCES2:.c=.d) $(CXXSOURCES:.cpp=.d)
endif