mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
Export the Makefile variables HOSTCC, LINKXX, PANDOC, and PKG_CONFIG so they can be used in sub-make calls, too. Reviewed-by: Steffen Eiden <seiden@linux.ibm.com> Reviewed-by: Jan Höppner <hoeppner@linux.ibm.com> Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com> Signed-off-by: Steffen Eiden <seiden@linux.ibm.com>
90 lines
3.0 KiB
Makefile
90 lines
3.0 KiB
Makefile
# SPDX-License-Identifier: MIT
|
|
#
|
|
# chreipl-fcp-mpath: use multipath information to change FCP IPL target
|
|
# (C) Copyright IBM Corp. 2021
|
|
#
|
|
# Uses the following system-utilities (and shell-builtins):
|
|
# Utilities list in GNU Make Conventions:
|
|
# https://www.gnu.org/software/make/manual/make.html#Utilities-in-Makefiles
|
|
# GNU coreutils:
|
|
# - mktemp
|
|
# If $(ENABLE_DOC) is `1`:
|
|
# Pandoc:
|
|
# - pandoc
|
|
# GNU coreutils:
|
|
# - date
|
|
|
|
#
|
|
## Paths and Build Variables
|
|
#
|
|
|
|
# Install the configuration file for dracut, to automatically pull in the
|
|
# toolset into the initial ramdisk, when built with it.
|
|
HAVE_DRACUT = 0
|
|
|
|
# Build documentation; requires: Pandoc
|
|
ENABLE_DOC = 0
|
|
|
|
# https://www.gnu.org/software/make/manual/make.html#Directory-Variables
|
|
CHREIPLZFCPMPDIR = $(USRLIBDIR)/chreipl-fcp-mpath
|
|
UDEVRUNDIR = /run/udev
|
|
DEBUGOUTDIR = $(UDEVRUNDIR)
|
|
|
|
INSTALL_EXEC = $(INSTALL) -g $(GROUP) -o $(OWNER) --preserve-timestamps
|
|
INSTALL_DATA = $(INSTALL_EXEC) --mode=0644
|
|
|
|
# used for data exchange and synchronization across the different helpers
|
|
chreiplzfcpmp-id-file = $(UDEVRUNDIR)/chreiplzfcpmp-ipl-volume-id
|
|
# file used to implement mutual exclusion when accessing firmware IPL info:
|
|
# - this should be something that is (practically) always available, so we
|
|
# dont have to worry about fallbacks or error-handling;
|
|
# - at the same time, it should not be used by anything else with flock(2) to
|
|
# hold a lock for long periods.
|
|
chreiplzfcpmp-fwlock-file = /sys/firmware/reipl
|
|
|
|
.DELETE_ON_ERROR:
|
|
|
|
# export build-time definitions to the scripts/built-components
|
|
define chreiplzfcpmp-sed-buildvar-replace =
|
|
tmpout=$$(mktemp -p ./ .make.tmp.XXXXXXXXXXXXXXXX) && { \
|
|
$(SED) -E \
|
|
-e 's|@DEBUG@|$(if $(filter 1,$(D)),true,false)|g' \
|
|
-e 's|@chreiplzfcpmp-id-file@|$(chreiplzfcpmp-id-file)|g' \
|
|
-e 's|@chreiplzfcpmp-fwlock-file@|$(chreiplzfcpmp-fwlock-file)|g' \
|
|
-e 's|@chreiplzfcpmp-lib@|$(CHREIPLZFCPMPDIR)/chreipl-fcp-mpath-common.sh|g' \
|
|
-e 's|@debugoutdir@|$(DEBUGOUTDIR)|g' \
|
|
-e 's|@udevdir@|$(UDEVDIR)|g' \
|
|
-e 's|@udevrulesdir@|$(UDEVRULESDIR)|g' \
|
|
$(1) > $${tmpout} \
|
|
&& mv $${tmpout} $(2) \
|
|
|| { rm $${tmpout}; false; } \
|
|
; }
|
|
endef
|
|
|
|
.PHONY: clean-mk-temp
|
|
clean: clean-mk-temp
|
|
clean-mk-temp:
|
|
rm -f .make.tmp.[[:alnum:]][[:alnum:]][[:alnum:]][[:alnum:]][[:alnum:]][[:alnum:]][[:alnum:]][[:alnum:]][[:alnum:]][[:alnum:]][[:alnum:]][[:alnum:]][[:alnum:]][[:alnum:]][[:alnum:]][[:alnum:]]
|
|
|
|
# Definitions for generating documentation when $(ENABLE_DOC) is set to `1`
|
|
|
|
PANDOCFLAGS = --fail-if-warnings
|
|
ALL_PANDOCFLAGS = --preserve-tabs --tab-stop=8 --strip-comments \
|
|
--standalone --self-contained \
|
|
-M date="$(shell date +'%Y-%m-%d')" \
|
|
$(PANDOCFLAGS)
|
|
|
|
$(eval $(call cmd_define_and_export, PANDOC," PANDOC ",pandoc))
|
|
|
|
%.html : ALL_PANDOCFLAGS += -t html
|
|
%.html : %.md
|
|
$(PANDOC) $(ALL_PANDOCFLAGS) -f gfm -o $(@) $(<)
|
|
|
|
%.pdf : ALL_PANDOCFLAGS += -t latex --toc
|
|
%.pdf : %.md
|
|
$(PANDOC) $(ALL_PANDOCFLAGS) -f gfm -o $(@) $(<)
|
|
|
|
%.7 : ALL_PANDOCFLAGS += -t man
|
|
%.7 : %.md
|
|
$(PANDOC) $(ALL_PANDOCFLAGS) -f gfm -o $(@) $(<)
|