This adds make install support to selftests. The basic usage is: $ cd tools/testing/selftests $ make install That installs into tools/testing/selftests/install, which can then be copied where ever necessary. The install destination is also configurable using eg: $ INSTALL_PATH=/mnt/selftests make install The implementation uses two targets in the child makefiles. The first "install" is expected to install all files into $(INSTALL_PATH). The second, "emit_tests", is expected to emit the test instructions (ie. bash script) on stdout. Separating this from install means the child makefiles need no knowledge of the location of the test script. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
29 lines
634 B
Makefile
29 lines
634 B
Makefile
CC = $(CROSS_COMPILE)gcc
|
|
CFLAGS = -Wall
|
|
BINARIES = execveat
|
|
DEPS = execveat.symlink execveat.denatured script subdir
|
|
all: $(BINARIES) $(DEPS)
|
|
|
|
subdir:
|
|
mkdir -p $@
|
|
script:
|
|
echo '#!/bin/sh' > $@
|
|
echo 'exit $$*' >> $@
|
|
chmod +x $@
|
|
execveat.symlink: execveat
|
|
ln -s -f $< $@
|
|
execveat.denatured: execveat
|
|
cp $< $@
|
|
chmod -x $@
|
|
%: %.c
|
|
$(CC) $(CFLAGS) -o $@ $^
|
|
|
|
TEST_PROGS := execveat
|
|
TEST_FILES := $(DEPS)
|
|
|
|
include ../lib.mk
|
|
|
|
override EMIT_TESTS := echo "mkdir -p subdir; (./execveat && echo \"selftests: execveat [PASS]\") || echo \"selftests: execveat [FAIL]\""
|
|
|
|
clean:
|
|
rm -rf $(BINARIES) $(DEPS) subdir.moved execveat.moved xxxxx*
|