contrib/gcc-test-suite/Makefile
author Zhenqiang Chen <zhenqiang.chen@linaro.org>
Mon Dec 30 23:15:02 2013 +0100 (2013-12-30)
changeset 3261 3b61be3d7aa6
parent 2170 4f8aa694f9c0
permissions -rw-r--r--
kernel/linux: prepare for arch whose kenel name is not the standard name

For some architectures, the kernel architecture name is not the common
name of the architecture for other tools.

For example: ARM 64-bit is commonly referenced as aarch64, but the kernel
calls it arm64.

Signed-off-by: Michael Hope <michael.hope@linaro.org>
Signed-off-by: Zhenqiang Chen <zhenqiang.chen@linaro.org>
[yann.morin.1998@free.fr: split out of the aarch64 patch]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
     1 # Helper makefile which downloads (if required) and runs the GCC test suite (DejaGnu)
     2 #
     3 # Note: Before run please make sure to have your toolchain available in your path.
     4 #
     5 # Copyright 2010 DoréDevelopment
     6 # 
     7 # Author: Martin Lund <mgl@doredevelopment.dk>
     8 #
     9 # This program is free software; you can redistribute  it and/or modify it
    10 # under  the terms of  the GNU General  Public License as published by the
    11 # Free Software Foundation;  either version 2 of the  License, or (at your
    12 # option) any later version.
    13 #
    14 
    15 # Internal configuration
    16 TARGET:=@@DG_TARGET@@
    17 TOPDIR:=$(shell pwd)
    18 LOGDIR:=$(TOPDIR)/tmp
    19 
    20 # Include default configuration
    21 include default.cfg
    22 
    23 # Add toolchain to path
    24 PATH:=$(shell cd ../../bin && pwd):$(PATH)
    25 
    26 # Select test set
    27 ifeq ($(DG_TOOLNAME),gcc)
    28 	DG_TESTS:=$(DG_C_TESTS)
    29 endif
    30 ifeq ($(DG_TOOLNAME),g++)
    31 	DG_TESTS:=$(DG_CPP_TESTS)
    32 endif
    33 
    34 # Check that we have 'runtest' installed
    35 RUNTEST=$(shell which runtest)
    36 ifeq ($(RUNTEST),)
    37         $(error "DejaGnu 'runtest' not found - please install (eg. apt-get install dejagnu)")
    38 endif
    39 
    40 # Targets 
    41 all: test
    42 
    43 $(LOGDIR):
    44 	@mkdir -p $@
    45 
    46 $(LOGDIR)/site.exp: $(TOPDIR)/default.cfg $(LOGDIR)
    47 	@{ echo 'lappend boards_dir "$(LOGDIR)"'; \
    48 	   echo 'set target_alias $(TARGET)';     } > $@
    49 
    50 $(LOGDIR)/board.exp: $(TOPDIR)/default.cfg $(LOGDIR)
    51 	@{ echo 'load_generic_config "unix"';                    \
    52 	   echo 'process_multilib_options ""';                   \
    53 	   echo 'set_board_info bmk,use_alarm 1';                \
    54 	   echo 'set_board_info rsh_prog ssh';                   \
    55 	   echo 'set_board_info rcp_prog scp';                   \
    56 	   echo 'set_board_info hostname $(DG_TARGET_HOSTNAME)'; \
    57 	   echo 'set_board_info username $(DG_TARGET_USERNAME)'; } > $@
    58 
    59 # As Martin puts it:
    60 #  > The thing is that when you run 50k+ test cases the odds are that at
    61 #  > least one will fail and thus runtest basically always return an error
    62 #  > despite the fact that the test session has executed successfully.
    63 # So just ignore any error reported by runtest
    64 test: $(LOGDIR)/board.exp $(LOGDIR)/site.exp $(LOGDIR)
    65 	@runtest --tool $(DG_TOOLNAME)          \
    66 	         --srcdir $(TOPDIR)/testsuite   \
    67 	         --objdir $(LOGDIR)             \
    68 	         --outdir $(LOGDIR)             \
    69 	         --all                          \
    70 	         --target $(TARGET)             \
    71 	         --target_board board           \
    72 	         $(DG_TESTS)                    \
    73 	         GXX_UNDER_TEST=$(TARGET)-g++   || true
    74 	@printf "Result files available in '%s'\n" "$(LOGDIR)"
    75 
    76 clean:
    77 	rm -rf $(LOGDIR)
    78 
    79 .PHONY: config test clean