1# Enable SDLLVM compiler option for build flavour >= N flavour 2PLATFORM_SDK_NPDK = 24 3ENABLE_CAM_SDLLVM := $(shell if [ $(PLATFORM_SDK_VERSION) -ge $(PLATFORM_SDK_NPDK) ] ; then echo true ; else echo false ; fi) 4ifeq ($(ENABLE_CAM_SDLLVM),true) 5SDCLANGSAVE := $(SDCLANG) 6SDCLANG := true 7endif 8 9ifneq (,$(filter $(TARGET_ARCH), arm arm64)) 10 11LOCAL_PATH:= $(call my-dir) 12 13include $(CLEAR_VARS) 14 15 16LOCAL_COPY_HEADERS_TO := qcom/camera 17LOCAL_COPY_HEADERS := QCameraFormat.h 18 19LOCAL_SRC_FILES := \ 20 util/QCameraBufferMaps.cpp \ 21 util/QCameraCmdThread.cpp \ 22 util/QCameraFlash.cpp \ 23 util/QCameraPerf.cpp \ 24 util/QCameraQueue.cpp \ 25 util/QCameraCommon.cpp \ 26 util/QCameraTrace.cpp \ 27 util/camscope_packet_type.cpp \ 28 QCamera2Hal.cpp \ 29 QCamera2Factory.cpp 30 31#HAL 3.0 source 32LOCAL_SRC_FILES += \ 33 HAL3/QCamera3HdrPlusListenerThread.cpp \ 34 HAL3/QCamera3HWI.cpp \ 35 HAL3/QCamera3Mem.cpp \ 36 HAL3/QCamera3Stream.cpp \ 37 HAL3/QCamera3Channel.cpp \ 38 HAL3/QCamera3VendorTags.cpp \ 39 HAL3/QCamera3PostProc.cpp \ 40 HAL3/QCamera3CropRegionMapper.cpp \ 41 HAL3/QCamera3StreamMem.cpp 42 43LOCAL_CFLAGS := -Wall -Wextra -Werror 44 45#HAL 1.0 source 46 47ifeq ($(TARGET_SUPPORT_HAL1),false) 48LOCAL_CFLAGS += -DQCAMERA_HAL3_SUPPORT 49else 50LOCAL_CFLAGS += -DQCAMERA_HAL1_SUPPORT 51LOCAL_SRC_FILES += \ 52 HAL/QCamera2HWI.cpp \ 53 HAL/QCameraMuxer.cpp \ 54 HAL/QCameraMem.cpp \ 55 HAL/QCameraStateMachine.cpp \ 56 HAL/QCameraChannel.cpp \ 57 HAL/QCameraStream.cpp \ 58 HAL/QCameraPostProc.cpp \ 59 HAL/QCamera2HWICallbacks.cpp \ 60 HAL/QCameraParameters.cpp \ 61 HAL/QCameraParametersIntf.cpp \ 62 HAL/QCameraThermalAdapter.cpp \ 63 util/QCameraFOVControl.cpp \ 64 util/QCameraHALPP.cpp \ 65 util/QCameraDualFOVPP.cpp \ 66 util/QCameraExtZoomTranslator.cpp 67endif 68 69# System header file path prefix 70LOCAL_CFLAGS += -DSYSTEM_HEADER_PREFIX=sys 71 72LOCAL_CFLAGS += -DHAS_MULTIMEDIA_HINTS -D_ANDROID 73 74ifeq ($(TARGET_USES_AOSP),true) 75LOCAL_CFLAGS += -DVANILLA_HAL 76endif 77 78ifeq (1,$(filter 1,$(shell echo "$$(( $(PLATFORM_SDK_VERSION) <= 23 ))" ))) 79LOCAL_CFLAGS += -DUSE_HAL_3_3 80endif 81 82#use media extension 83ifeq ($(TARGET_USES_MEDIA_EXTENSIONS), true) 84LOCAL_CFLAGS += -DUSE_MEDIA_EXTENSIONS 85endif 86 87LOCAL_CFLAGS += -std=c++14 -std=gnu++1z 88#HAL 1.0 Flags 89LOCAL_CFLAGS += -DDEFAULT_DENOISE_MODE_ON -DHAL3 -DQCAMERA_REDEFINE_LOG 90 91LOCAL_C_INCLUDES := \ 92 $(LOCAL_PATH)/../mm-image-codec/qexif \ 93 $(LOCAL_PATH)/../mm-image-codec/qomx_core \ 94 $(LOCAL_PATH)/include \ 95 $(LOCAL_PATH)/stack/common \ 96 $(LOCAL_PATH)/stack/mm-camera-interface/inc \ 97 $(LOCAL_PATH)/util \ 98 $(LOCAL_PATH)/HAL3 \ 99 hardware/libhardware/include/hardware \ 100 $(SRC_MEDIA_HAL_DIR)/libstagefrighthw \ 101 $(SRC_MEDIA_HAL_DIR)/mm-core/inc \ 102 system/core/include/cutils \ 103 system/core/include/system \ 104 system/media/camera/include/system 105 106#HAL 1.0 Include paths 107LOCAL_C_INCLUDES += \ 108 $(LOCAL_PATH)/HAL 109 110ifeq ($(TARGET_COMPILE_WITH_MSM_KERNEL),true) 111LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include 112LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr 113endif 114ifeq ($(TARGET_TS_MAKEUP),true) 115LOCAL_CFLAGS += -DTARGET_TS_MAKEUP 116LOCAL_C_INCLUDES += $(LOCAL_PATH)/HAL/tsMakeuplib/include 117endif 118ifneq (,$(filter msm8974 msm8916 msm8226 msm8610 msm8916 apq8084 msm8084 msm8994 msm8992 msm8952 msm8937 msm8953 msm8996 msmcobalt sdm660 msm8998, $(TARGET_BOARD_PLATFORM))) 119 LOCAL_CFLAGS += -DVENUS_PRESENT 120endif 121 122# Disable UBWC for Easel HDR+. 123ifeq ($(TARGET_USES_EASEL), false) 124ifneq (,$(filter msm8996 msmcobalt sdm660 msm8998,$(TARGET_BOARD_PLATFORM))) 125 LOCAL_CFLAGS += -DUBWC_PRESENT 126endif 127endif 128 129ifneq (,$(filter msm8996,$(TARGET_BOARD_PLATFORM))) 130 LOCAL_CFLAGS += -DTARGET_MSM8996 131endif 132 133LOCAL_CFLAGS += -DUSE_CAMERA_METABUFFER_UTILS 134 135#LOCAL_STATIC_LIBRARIES := libqcamera2_util 136LOCAL_STATIC_LIBRARIES := android.hardware.camera.common@1.0-helper 137LOCAL_C_INCLUDES += \ 138 $(TARGET_OUT_HEADERS)/mm-core/omxcore \ 139 $(TARGET_OUT_HEADERS)/qcom/display 140LOCAL_C_INCLUDES += \ 141 $(SRC_DISPLAY_HAL_DIR)/libqservice 142LOCAL_SHARED_LIBRARIES := liblog libhardware libutils libcutils libdl libsync 143LOCAL_SHARED_LIBRARIES += libmmcamera_interface libmmjpeg_interface libui libcamera_metadata 144LOCAL_SHARED_LIBRARIES += libqdMetaData libqservice libbinder 145LOCAL_SHARED_LIBRARIES += libbase libcutils libdl libhdrplusclient 146LOCAL_SHARED_LIBRARIES += libhidlbase libhwbinder libutils android.hardware.power@1.2 147LOCAL_SHARED_LIBRARIES += libtinyxml2 148ifeq ($(TARGET_TS_MAKEUP),true) 149LOCAL_SHARED_LIBRARIES += libts_face_beautify_hal libts_detected_face_hal 150endif 151LOCAL_HEADER_LIBRARIES := libhardware_headers media_plugin_headers 152 153LOCAL_MODULE_RELATIVE_PATH := hw 154LOCAL_MODULE := camera.$(TARGET_BOARD_PLATFORM) 155LOCAL_VENDOR_MODULE := true 156LOCAL_MODULE_TAGS := optional 157 158LOCAL_32_BIT_ONLY := $(BOARD_QTI_CAMERA_32BIT_ONLY) 159include $(BUILD_SHARED_LIBRARY) 160 161include $(call first-makefiles-under,$(LOCAL_PATH)) 162endif 163ifeq ($(ENABLE_CAM_SDLLVM),true) 164SDCLANG := $(SDCLANGSAVE) 165endif 166