mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
Add a new tool to s390-tools: chreipl-fcp-mpath. A toolset based on udev to change the active re-IPL target if the current target goes into an error-state, due to for example a pulled cable. Add the base infrastructure consisting of a Makefile and a base set of udev rules. Integrate the Makefile into s390-tools Make machinery. The rules filter events base on the event subject type (dm-multipath, scsi disk), udev action (change, or add), and device mapper action (path failure, or path reinstated). No further processing is done right now in case of a match; if neither of these criteria matches, the rules exit, and the toolset won't be invoked. Reviewed-by: Steffen Maier <maier@linux.ibm.com> Signed-off-by: Benjamin Block <bblock@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
64 lines
2.2 KiB
Makefile
64 lines
2.2 KiB
Makefile
ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)
|
|
|
|
# Include common definitions
|
|
include common.mak
|
|
|
|
#
|
|
# BASELIBS: Libraries that have no dependency to other libraries in s390-tools
|
|
# LIBS: Libraries that can have a dependency to base libraries
|
|
# TOOLS: Tools that can have a dependency to base libraries or libraries
|
|
#
|
|
BASELIB_DIRS = libutil libseckey
|
|
LIB_DIRS = libvtoc libzds libdasd libvmdump libccw libvmcp libekmfweb \
|
|
libkmipclient
|
|
TOOL_DIRS = zipl zdump fdasd dasdfmt dasdview tunedasd \
|
|
tape390 osasnmpd qetharp ip_watcher qethconf scripts zconf \
|
|
vmconvert vmcp man mon_tools dasdinfo vmur cpuplugd ipl_tools \
|
|
ziomon iucvterm hyptop cmsfs-fuse qethqoat zfcpdump zdsfs cpumf \
|
|
systemd hmcdrvfs cpacfstats zdev dump2tar zkey netboot etc zpcictl \
|
|
genprotimg lsstp hsci hsavmcore chreipl-fcp-mpath
|
|
|
|
SUB_DIRS = $(BASELIB_DIRS) $(LIB_DIRS) $(TOOL_DIRS)
|
|
|
|
all: $(TOOL_DIRS)
|
|
clean: $(TOOL_DIRS)
|
|
install: $(TOOL_DIRS)
|
|
|
|
#
|
|
# For simple "make" we explicitly set the MAKECMDGOALS to "all".
|
|
#
|
|
ifeq ($(MAKECMDGOALS),)
|
|
MAKECMDGOALS = all
|
|
endif
|
|
|
|
#
|
|
# We have to build the base libraries before the other libraries are built,
|
|
# and then build the other libraries before the tools are built. Otherwise the
|
|
# other libraries and tools would trigger parallel "make -C" builds for the
|
|
# base libraries and the other libraries in case of "make -j".
|
|
#
|
|
# MAKECMDGOALS contains the list of goals, e.g. "clean all". We use
|
|
# "foreach" to generate a ";" separated list of "make -C <target>".
|
|
# For example the the expansion for "make clean all" is:
|
|
#
|
|
# $(MAKE) -C $@ [..] clean ; $(MAKE) -C $@ [...] all ;
|
|
#
|
|
# This ensures that the commandline targets are serialized and also "make -j"
|
|
# works as expected, e.g. "make clean all -j 20".
|
|
#
|
|
|
|
$(TOOL_DIRS): $(LIB_DIRS)
|
|
$(foreach goal,$(MAKECMDGOALS), \
|
|
$(MAKE) -C $@ TOPDIR=$(TOPDIR) ARCH=$(ARCH) $(goal) ;)
|
|
.PHONY: $(TOOL_DIRS)
|
|
|
|
$(LIB_DIRS): $(BASELIB_DIRS)
|
|
$(foreach goal,$(MAKECMDGOALS), \
|
|
$(MAKE) -C $@ TOPDIR=$(TOPDIR) ARCH=$(ARCH) $(goal) ;)
|
|
.PHONY: $(LIB_DIRS)
|
|
|
|
$(BASELIB_DIRS):
|
|
$(foreach goal,$(MAKECMDGOALS), \
|
|
$(MAKE) -C $@ TOPDIR=$(TOPDIR) ARCH=$(ARCH) $(goal) ;)
|
|
.PHONY: $(BASELIB_DIRS)
|