Android.mk 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. CAMERA_DLKM_ENABLED := true
  2. ifeq ($(TARGET_KERNEL_DLKM_DISABLE), true)
  3. ifeq ($(TARGET_KERNEL_DLKM_CAMERA_OVERRIDE), false)
  4. CAMERA_DLKM_ENABLED := false;
  5. endif
  6. endif
  7. ifeq ($(CAMERA_DLKM_ENABLED),true)
  8. ifeq ($(call is-board-platform-in-list, $(TARGET_BOARD_PLATFORM)),true)
  9. # Make target to specify building the camera.ko from within Android build system.
  10. LOCAL_PATH := $(call my-dir)
  11. # Path to DLKM make scripts
  12. DLKM_DIR := $(TOP)/device/qcom/common/dlkm
  13. LOCAL_MODULE_DDK_BUILD := true
  14. # List of board platforms for which MMRM driver API should be enabled
  15. MMRM_BOARDS := taro parrot kalama pineapple crow
  16. # List of board platforms for which Synx V2 vendor driver API should be enabled
  17. SYNX_VENDOR_BOARDS := pineapple
  18. # List of board platforms for which SMCINVOKE_DLKM driver API should be enabled
  19. SMCINVOKE_DLKM_BOARDS := pineapple
  20. # List of board platforms for which SMMU_PROXY_DLKM driver API should be enabled
  21. SMMU_PROXY_DLKM_BOARDS := pineapple
  22. CAMERA_SRC_FILES := \
  23. $(addprefix $(LOCAL_PATH)/, $(call all-named-files-under,*.h,drivers dt-bindings include))\
  24. $(addprefix $(LOCAL_PATH)/, $(call all-named-files-under,*.mk,config))\
  25. $(addprefix $(LOCAL_PATH)/, $(call all-named-files-under,*.c,drivers))\
  26. $(LOCAL_PATH)/dependency.mk \
  27. $(LOCAL_PATH)/board.mk \
  28. $(LOCAL_PATH)/product.mk \
  29. $(LOCAL_PATH)/Kbuild
  30. # Target for pre-sil symbols
  31. ifeq ($(CONFIG_CAM_PRESIL), y)
  32. $(warning camera-kernel: Enabling Pre-Sil Kbuild Options!)
  33. KBUILD_OPTIONS := CONFIG_CAM_PRESIL=y
  34. include $(CLEAR_VARS)
  35. $(warning camera-kernel: Enabling Pre-Sil build, exporting symbols!)
  36. LOCAL_SRC_FILES := $(CAMERA_SRC_FILES)
  37. LOCAL_MODULE := camera-kernel-symvers
  38. LOCAL_MODULE_STEM := Module.symvers
  39. LOCAL_MODULE_KBUILD_NAME := Module.symvers
  40. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  41. # Check build for optional dependencies
  42. include $(LOCAL_PATH)/dependency.mk
  43. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  44. endif
  45. # Kbuild options
  46. KBUILD_OPTIONS := CAMERA_KERNEL_ROOT=$(TOP)/$(LOCAL_PATH)
  47. KBUILD_OPTIONS += KERNEL_ROOT=$(TOP)/kernel_platform/common
  48. KBUILD_OPTIONS += MODNAME=camera
  49. KBUILD_OPTIONS += BOARD_PLATFORM=$(TARGET_BOARD_PLATFORM)
  50. # Clear shell environment variables from previous android module during build
  51. include $(CLEAR_VARS)
  52. # For incremental compilation support.
  53. LOCAL_SRC_FILES := $(CAMERA_SRC_FILES)
  54. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  55. LOCAL_MODULE := camera.ko
  56. LOCAL_MODULE_TAGS := optional
  57. #LOCAL_MODULE_KBUILD_NAME := camera.ko
  58. #LOCAL_MODULE_DEBUG_ENABLE := true
  59. # Check build for optional dependencies
  60. include $(LOCAL_PATH)/dependency.mk
  61. # $(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
  62. # $(info intermediates mmrm symvers path = $(call intermediates-dir-for,DLKM,mmrm-module-symvers))
  63. # $(info CAMERA_EXTRA_SYMBOLS = $(CAMERA_EXTRA_SYMBOLS))
  64. # $(info CAMERA_EXTRA_CONFIGS = $(CAMERA_EXTRA_CONFIGS))
  65. # $(info LOCAL_ADDITIONAL_DEPENDENCIES = $(LOCAL_ADDITIONAL_DEPENDENCIES))
  66. # $(info LOCAL_REQUIRED_MODULES = $(LOCAL_REQUIRED_MODULES))
  67. # $(info DLKM_DIR = $(DLKM_DIR))
  68. $(info KBUILD_OPTIONS = $(KBUILD_OPTIONS))
  69. ifeq ($(TARGET_BOARD_PLATFORM), lahaina)
  70. # Include Kernel DLKM Android.mk target to place generated .ko file in image
  71. include $(DLKM_DIR)/AndroidKernelModule.mk
  72. # Include Camera UAPI Android.mk target to copy headers
  73. include $(LOCAL_PATH)/include/uapi/Android.mk
  74. else
  75. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  76. endif
  77. endif # End of check for board platform
  78. endif # ifeq ($(CAMERA_DLKM_ENABLED),true)