| LOCAL_PATH := $(call my-dir) |
| |
| include $(LOCAL_PATH)/Makefile.sources |
| |
| #================# |
| # each igt test is a separate executable. define a function to build one of these tests |
| define add_test |
| include $(CLEAR_VARS) |
| |
| # specific to this test |
| LOCAL_SRC_FILES := $1.c |
| LOCAL_MODULE := $1 |
| |
| # common to all tests |
| LOCAL_CFLAGS += ${IGT_LOCAL_CFLAGS} |
| LOCAL_C_INCLUDES = ${IGT_LOCAL_C_INCLUDES} |
| LOCAL_STATIC_LIBRARIES := ${IGT_LOCAL_STATIC_LIBRARIES} |
| LOCAL_SHARED_LIBRARIES := ${IGT_LOCAL_SHARED_LIBRARIES} |
| |
| LOCAL_MODULE_TAGS := optional |
| # ask linker to define a specific symbol; we use this to identify IGT tests |
| LOCAL_LDFLAGS := -Wl,--defsym=$2=0 -lkmod |
| LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/intel/validation/core/igt |
| |
| include $(BUILD_EXECUTABLE) |
| endef |
| |
| |
| # some tests still do not build under android |
| skip_tests_list := |
| skip_tests_list += testdisplay # needs glib.h |
| skip_tests_list += pm_rpm |
| |
| # set local compilation flags for IGT tests |
| IGT_LOCAL_CFLAGS += -DHAVE_STRUCT_SYSINFO_TOTALRAM -DANDROID -UNDEBUG |
| IGT_LOCAL_CFLAGS += -include "check-ndebug.h" -std=gnu99 |
| # FIXME: drop once Bionic correctly annotates "noreturn" on pthread_exit |
| IGT_LOCAL_CFLAGS += -Wno-error=return-type |
| # Excessive complaining for established cases. Rely on the Linux version warnings. |
| IGT_LOCAL_CFLAGS += -Wno-sign-compare |
| |
| # set local includes |
| IGT_LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib \ |
| $(LOCAL_PATH)/../lib/stubs/drm/ |
| |
| # set local libraries |
| IGT_LOCAL_STATIC_LIBRARIES := libintel_gpu_tools |
| IGT_LOCAL_SHARED_LIBRARIES := libpciaccess libkmod libdrm libdrm_intel |
| |
| # handle cairo requirements if it is enabled |
| ifeq ("${ANDROID_HAS_CAIRO}", "1") |
| IGT_LOCAL_C_INCLUDES += ${ANDROID_BUILD_TOP}/external/cairo-1.12.16/src |
| IGT_LOCAL_SHARED_LIBRARIES += libcairo |
| IGT_LOCAL_CFLAGS += -DANDROID_HAS_CAIRO=1 |
| else |
| # the following tests depend on cairo, so skip them |
| skip_tests_list += \ |
| gem_render_copy \ |
| pm_lpsp \ |
| drm_read \ |
| gem_exec_blt \ |
| perf \ |
| prime_mmap_kms |
| |
| # All kms tests depend on cairo |
| tmp_list := $(foreach test_name, $(TESTS_progs),\ |
| $(if $(findstring kms_,$(test_name)),$(test_name))) |
| skip_tests_list += $(tmp_list) |
| |
| tmp_list := $(foreach test_name, $(TESTS_progs_M),\ |
| $(if $(findstring kms_,$(test_name)),$(test_name))) |
| skip_tests_list += $(tmp_list) |
| |
| IGT_LOCAL_CFLAGS += -DANDROID_HAS_CAIRO=0 |
| endif |
| |
| # create two test lists, one for simple single tests, one for tests that have subtests |
| tests_list := $(filter-out $(skip_tests_list),$(TESTS_progs) $(HANG) $(TESTS_testsuite)) |
| tests_list_M := $(filter-out $(skip_tests_list),$(TESTS_progs_M)) |
| |
| $(foreach item,$(tests_list),$(eval $(call add_test,$(item),"IGT_SINGLE_TEST"))) |
| $(foreach item,$(tests_list_M),$(eval $(call add_test,$(item),"IGT_MULTI_TEST"))) |
| |