1# Copyright 2015 The Android Open Source Project 2# Copyright (C) 2015 Valve Corporation 3 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7 8# http://www.apache.org/licenses/LICENSE-2.0 9 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15 16LOCAL_PATH := $(call my-dir) 17SRC_DIR := ../.. 18LAYER_DIR := ../generated 19THIRD_PARTY := ../third_party 20 21VULKAN_INCLUDE := $(LOCAL_PATH)/$(SRC_DIR)/include 22 23include $(CLEAR_VARS) 24LOCAL_MODULE := layer_utils 25LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_config.cpp 26LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_extension_utils.cpp 27LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_layer_utils.cpp 28LOCAL_SRC_FILES += $(SRC_DIR)/layers/vk_format_utils.cpp 29LOCAL_C_INCLUDES += $(VULKAN_INCLUDE) \ 30 $(LOCAL_PATH)/$(LAYER_DIR)/include \ 31 $(LOCAL_PATH)/$(SRC_DIR)/layers 32LOCAL_CPPFLAGS += -std=c++11 -Wall -Werror -Wno-unused-function -Wno-unused-const-variable 33LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR -DVK_PROTOTYPES -fvisibility=hidden 34include $(BUILD_STATIC_LIBRARY) 35 36include $(CLEAR_VARS) 37LOCAL_MODULE := VkLayer_core_validation 38LOCAL_SRC_FILES += $(SRC_DIR)/layers/core_validation.cpp 39LOCAL_SRC_FILES += $(SRC_DIR)/layers/descriptor_sets.cpp 40LOCAL_SRC_FILES += $(SRC_DIR)/layers/buffer_validation.cpp 41LOCAL_SRC_FILES += $(SRC_DIR)/layers/shader_validation.cpp 42LOCAL_SRC_FILES += $(SRC_DIR)/layers/gpu_validation.cpp 43LOCAL_SRC_FILES += $(SRC_DIR)/layers/convert_to_renderpass2.cpp 44LOCAL_SRC_FILES += $(LAYER_DIR)/include/layer_chassis_dispatch.cpp 45LOCAL_SRC_FILES += $(LAYER_DIR)/include/chassis.cpp 46LOCAL_SRC_FILES += $(SRC_DIR)/layers/xxhash.c 47LOCAL_C_INCLUDES += $(VULKAN_INCLUDE) \ 48 $(LOCAL_PATH)/$(SRC_DIR)/layers \ 49 $(LOCAL_PATH)/$(LAYER_DIR)/include 50LOCAL_STATIC_LIBRARIES += layer_utils glslang SPIRV-Tools SPIRV-Tools-opt 51LOCAL_CPPFLAGS += -std=c++11 -Wall -Werror -Wno-unused-function -Wno-unused-const-variable 52LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR -DVK_PROTOTYPES -fvisibility=hidden -DBUILD_CORE_VALIDATION 53LOCAL_LDLIBS := -llog -landroid 54LOCAL_LDFLAGS += -Wl,-Bsymbolic 55LOCAL_LDFLAGS += -Wl,--exclude-libs,ALL 56include $(BUILD_SHARED_LIBRARY) 57 58include $(CLEAR_VARS) 59LOCAL_MODULE := VkLayer_parameter_validation 60LOCAL_SRC_FILES += $(LAYER_DIR)/include/parameter_validation.cpp 61LOCAL_SRC_FILES += $(LAYER_DIR)/include/layer_chassis_dispatch.cpp 62LOCAL_SRC_FILES += $(LAYER_DIR)/include/chassis.cpp 63LOCAL_SRC_FILES += $(SRC_DIR)/layers/parameter_validation_utils.cpp 64LOCAL_C_INCLUDES += $(VULKAN_INCLUDE) \ 65 $(LOCAL_PATH)/$(LAYER_DIR)/include \ 66 $(LOCAL_PATH)/$(SRC_DIR)/layers 67LOCAL_STATIC_LIBRARIES += layer_utils 68LOCAL_CPPFLAGS += -std=c++11 -DVK_PROTOTYPES -Wall -Werror -Wno-unused-function -Wno-unused-const-variable 69LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR -fvisibility=hidden -DBUILD_PARAMETER_VALIDATION 70LOCAL_LDLIBS := -llog 71LOCAL_LDFLAGS += -Wl,-Bsymbolic 72LOCAL_LDFLAGS += -Wl,--exclude-libs,ALL 73include $(BUILD_SHARED_LIBRARY) 74 75include $(CLEAR_VARS) 76LOCAL_MODULE := VkLayer_object_tracker 77LOCAL_SRC_FILES += $(LAYER_DIR)/include/object_tracker.cpp 78LOCAL_SRC_FILES += $(LAYER_DIR)/include/layer_chassis_dispatch.cpp 79LOCAL_SRC_FILES += $(LAYER_DIR)/include/chassis.cpp 80LOCAL_SRC_FILES += $(SRC_DIR)/layers/object_tracker_utils.cpp 81LOCAL_C_INCLUDES += $(VULKAN_INCLUDE) \ 82 $(LOCAL_PATH)/$(SRC_DIR)/layers \ 83 $(LOCAL_PATH)/$(LAYER_DIR)/include 84LOCAL_STATIC_LIBRARIES += layer_utils 85LOCAL_CPPFLAGS += -std=c++11 -DVK_PROTOTYPES -Wall -Werror -Wno-unused-function -Wno-unused-const-variable 86LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR -fvisibility=hidden -DBUILD_OBJECT_TRACKER 87LOCAL_LDLIBS := -llog 88LOCAL_LDFLAGS += -Wl,-Bsymbolic 89LOCAL_LDFLAGS += -Wl,--exclude-libs,ALL 90include $(BUILD_SHARED_LIBRARY) 91 92include $(CLEAR_VARS) 93LOCAL_MODULE := VkLayer_threading 94LOCAL_SRC_FILES += $(LAYER_DIR)/include/thread_safety.cpp 95LOCAL_SRC_FILES += $(LAYER_DIR)/include/layer_chassis_dispatch.cpp 96LOCAL_SRC_FILES += $(LAYER_DIR)/include/chassis.cpp 97LOCAL_C_INCLUDES += $(VULKAN_INCLUDE) \ 98 $(LOCAL_PATH)/$(SRC_DIR)/layers \ 99 $(LOCAL_PATH)/$(LAYER_DIR)/include 100LOCAL_STATIC_LIBRARIES += layer_utils 101LOCAL_CPPFLAGS += -std=c++11 -DVK_PROTOTYPES -Wall -Werror -Wno-unused-function -Wno-unused-const-variable 102LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR -fvisibility=hidden -DBUILD_THREAD_SAFETY 103LOCAL_LDLIBS := -llog 104LOCAL_LDFLAGS += -Wl,-Bsymbolic 105LOCAL_LDFLAGS += -Wl,--exclude-libs,ALL 106include $(BUILD_SHARED_LIBRARY) 107 108include $(CLEAR_VARS) 109LOCAL_MODULE := VkLayer_unique_objects 110LOCAL_SRC_FILES += $(LAYER_DIR)/include/layer_chassis_dispatch.cpp 111LOCAL_SRC_FILES += $(LAYER_DIR)/include/chassis.cpp 112LOCAL_C_INCLUDES += $(VULKAN_INCLUDE) \ 113 $(LOCAL_PATH)/$(SRC_DIR)/layers \ 114 $(LOCAL_PATH)/$(LAYER_DIR)/include 115LOCAL_STATIC_LIBRARIES += layer_utils 116LOCAL_CPPFLAGS += -std=c++11 -Wall -Werror -Wno-unused-function -Wno-unused-const-variable 117LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR -DVK_PROTOTYPES -fvisibility=hidden -DLAYER_CHASSIS_CAN_WRAP_HANDLES 118LOCAL_LDLIBS := -llog 119LOCAL_LDFLAGS += -Wl,-Bsymbolic 120LOCAL_LDFLAGS += -Wl,--exclude-libs,ALL 121include $(BUILD_SHARED_LIBRARY) 122 123include $(CLEAR_VARS) 124LOCAL_MODULE := VkLayerValidationTests 125LOCAL_SRC_FILES += $(SRC_DIR)/tests/layer_validation_tests.cpp \ 126 $(SRC_DIR)/tests/vktestbinding.cpp \ 127 $(SRC_DIR)/tests/vktestframeworkandroid.cpp \ 128 $(SRC_DIR)/tests/vkrenderframework.cpp \ 129 $(SRC_DIR)/layers/convert_to_renderpass2.cpp \ 130 $(LAYER_DIR)/include/vk_safe_struct.cpp \ 131 $(THIRD_PARTY)/Vulkan-Tools/common/vulkan_wrapper.cpp 132LOCAL_C_INCLUDES += $(VULKAN_INCLUDE) \ 133 $(LOCAL_PATH)/$(LAYER_DIR)/include \ 134 $(LOCAL_PATH)/$(SRC_DIR)/layers \ 135 $(LOCAL_PATH)/$(SRC_DIR)/libs \ 136 $(LOCAL_PATH)/$(THIRD_PARTY)/Vulkan-Tools/common 137 138LOCAL_STATIC_LIBRARIES := googletest_main layer_utils shaderc 139LOCAL_CPPFLAGS += -std=c++11 -DVK_PROTOTYPES -Wall -Werror -Wno-unused-function -Wno-unused-const-variable 140LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR -DNV_EXTENSIONS -DAMD_EXTENSIONS -fvisibility=hidden --include=$(THIRD_PARTY)/Vulkan-Tools/common/vulkan_wrapper.h 141LOCAL_LDLIBS := -llog -landroid 142LOCAL_LDFLAGS += -Wl,-Bsymbolic 143LOCAL_LDFLAGS += -Wl,--exclude-libs,ALL 144include $(BUILD_EXECUTABLE) 145 146# Note: The following module is similar in name to the executable, but differs so that loader won't enumerate the resulting .so 147include $(CLEAR_VARS) 148LOCAL_MODULE := VulkanLayerValidationTests 149LOCAL_SRC_FILES += $(SRC_DIR)/tests/layer_validation_tests.cpp \ 150 $(SRC_DIR)/tests/vktestbinding.cpp \ 151 $(SRC_DIR)/tests/vktestframeworkandroid.cpp \ 152 $(SRC_DIR)/tests/vkrenderframework.cpp \ 153 $(SRC_DIR)/layers/convert_to_renderpass2.cpp \ 154 $(LAYER_DIR)/include/vk_safe_struct.cpp \ 155 $(THIRD_PARTY)/Vulkan-Tools/common/vulkan_wrapper.cpp 156LOCAL_C_INCLUDES += $(VULKAN_INCLUDE) \ 157 $(LOCAL_PATH)/$(LAYER_DIR)/include \ 158 $(LOCAL_PATH)/$(SRC_DIR)/layers \ 159 $(LOCAL_PATH)/$(SRC_DIR)/libs \ 160 $(LOCAL_PATH)/$(THIRD_PARTY)/Vulkan-Tools/common 161 162LOCAL_STATIC_LIBRARIES := googletest_main layer_utils shaderc 163LOCAL_CPPFLAGS += -std=c++11 -DVK_PROTOTYPES -Wall -Werror -Wno-unused-function -Wno-unused-const-variable 164LOCAL_CPPFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR -DNV_EXTENSIONS -DAMD_EXTENSIONS -fvisibility=hidden -DVALIDATION_APK --include=$(THIRD_PARTY)/Vulkan-Tools/common/vulkan_wrapper.h 165LOCAL_WHOLE_STATIC_LIBRARIES += android_native_app_glue 166LOCAL_LDLIBS := -llog -landroid 167LOCAL_LDFLAGS := -u ANativeActivity_onCreate 168include $(BUILD_SHARED_LIBRARY) 169 170$(call import-module,android/native_app_glue) 171$(call import-module,third_party/googletest) 172$(call import-module,third_party/shaderc) 173