]> www.infradead.org Git - users/sagi/blktests.git/commitdiff
makefile: Add install rule
authorGwendal Grignou <gwendal@chromium.org>
Wed, 14 Nov 2018 19:39:31 +0000 (11:39 -0800)
committerOmar Sandoval <osandov@fb.com>
Wed, 14 Nov 2018 19:45:39 +0000 (11:45 -0800)
Add rule to install to a target directory, /usr/local/blktests by
default.

Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Makefile
README.md
src/Makefile

index 38b8ad165790d7d83fb7751efe57ac629fcf8a1e..9793a2dd9c54f9e3cc9c892f78b7fa58069cb7d0 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,18 @@
+prefix ?= /usr/local
+dest = $(DESTDIR)$(prefix)/blktests
+
 all:
        $(MAKE) -C src all
 
 clean:
        $(MAKE) -C src clean
 
+install:
+       install -m755 -d $(dest)
+       install check $(dest)
+       cp -R tests common $(dest)
+       $(MAKE) -C src dest=$(dest)/src install
+
 # SC2119: "Use foo "$@" if function's $1 should mean script's $1". False
 # positives on helpers like _init_scsi_debug.
 SHELLCHECK_EXCLUDE := SC2119
@@ -13,4 +22,4 @@ check:
                tests/*/rc tests/*/[0-9]*[0-9]
        ! grep TODO tests/*/rc tests/*/[0-9]*[0-9]
 
-.PHONY: all check
+.PHONY: all check install
index be55aba0edccdb238ec89daa140109365bca495b..05afb8d402b7fd42cc09d1f81090447081a9f732 100644 (file)
--- a/README.md
+++ b/README.md
@@ -22,6 +22,10 @@ Some tests require the following:
 - multipath-tools (Debian, openSUSE) or device-mapper-multipath (Fedora)
 - dmsetup (Debian) or device-mapper (Fedora, openSUSE, Arch Linux)
 
+Build blktests with `make`. Optionally, install it to a known location with
+`make install` (`/usr/local/blktests` by default, but this can be changed by
+passing `DESTDIR` and/or `prefix`).
+
 Add the list of block devices you want to test on in a file named `config`:
 
 ```sh
index 15c10226ccb74d82932c0ef657ed179bae9b68f5..b2bd321a73003fca1bac62808d90c3d8c7f76bac 100644 (file)
@@ -20,10 +20,14 @@ all: $(TARGETS)
 clean:
        rm -f $(TARGETS)
 
+install: $(TARGETS)
+       install -m755 -d $(dest)
+       install $(TARGETS) $(dest)
+
 $(C_TARGETS): %: %.c
        $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $^
 
 $(CXX_TARGETS): %: %.cpp
        $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $^
 
-.PHONY: all clean
+.PHONY: all clean install