mirror of
				https://github.com/tiagovignatti/intel-gpu-tools.git
				synced 2025-11-04 12:07:12 +00:00 
			
		
		
		
	The commit "benchmarks: Do not install to system-wide bin/" changed the benchmark file list from bin_PROGRAMS to benchmarks_PROGRAMS. However Android.mk was not updated, resulting in IGT failing to build for Android. This commit adds that change. It also adds LOCAL_MODULE_PATH to specify where the built benchmarks should be put. v2: I discovered that the existing definitions of LOCAL_MODULE_PATH were creating what should have been an invalid path. Not sure how it was ever working previously, but fixed now. Signed-off-by: Derek Morton <derek.j.morton@intel.com> Signed-off-by: Thomas Wood <thomas.wood@intel.com>
		
			
				
	
	
		
			80 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
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
 | 
						|
    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
 | 
						|
IGT_LOCAL_C_INCLUDES += ${ANDROID_BUILD_TOP}/external/PRIVATE/drm/include/drm
 | 
						|
 | 
						|
# set local libraries
 | 
						|
IGT_LOCAL_STATIC_LIBRARIES := libintel_gpu_tools
 | 
						|
IGT_LOCAL_SHARED_LIBRARIES := libpciaccess 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
 | 
						|
 | 
						|
# 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")))
 | 
						|
 |