Android.mk 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. # List of board platforms for which MMRM driver API should be enabled
  14. MMRM_BOARDS := taro parrot kalama
  15. # Kbuild options
  16. KBUILD_OPTIONS := CAMERA_KERNEL_ROOT=$(shell pwd)/$(LOCAL_PATH)
  17. KBUILD_OPTIONS += KERNEL_ROOT=$(shell pwd)/kernel/msm-$(TARGET_KERNEL_VERSION)/
  18. KBUILD_OPTIONS += MODNAME=camera
  19. KBUILD_OPTIONS += BOARD_PLATFORM=$(TARGET_BOARD_PLATFORM)
  20. # Clear shell environment variables from previous android module during build
  21. include $(CLEAR_VARS)
  22. # For incremental compilation support.
  23. LOCAL_SRC_FILES := \
  24. $(shell find $(LOCAL_PATH)/config -L -type f) \
  25. $(shell find $(LOCAL_PATH)/drivers -L -type f) \
  26. $(shell find $(LOCAL_PATH)/dt-bindings -L -type f) \
  27. $(shell find $(LOCAL_PATH)/include -L -type f) \
  28. $(LOCAL_PATH)/Android.mk \
  29. $(LOCAL_PATH)/board.mk \
  30. $(LOCAL_PATH)/product.mk \
  31. $(LOCAL_PATH)/Kbuild
  32. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  33. LOCAL_MODULE := camera.ko
  34. LOCAL_MODULE_TAGS := optional
  35. #LOCAL_MODULE_KBUILD_NAME := camera.ko
  36. #LOCAL_MODULE_DEBUG_ENABLE := true
  37. ifeq ($(call is-board-platform-in-list, $(MMRM_BOARDS)),true)
  38. $(warning camera-kernel: Adding msm-mmrm dependency!)
  39. KBUILD_OPTIONS += KBUILD_EXTRA_SYMBOLS=$(shell pwd)/$(call intermediates-dir-for,DLKM,mmrm-module-symvers)/Module.symvers
  40. LOCAL_REQUIRED_MODULES := mmrm-module-symvers
  41. LOCAL_ADDITIONAL_DEPENDENCIES := $(call intermediates-dir-for,DLKM,mmrm-module-symvers)/Module.symvers
  42. endif
  43. ifeq ($(TARGET_BOARD_PLATFORM), lahaina)
  44. # Include Kernel DLKM Android.mk target to place generated .ko file in image
  45. include $(DLKM_DIR)/AndroidKernelModule.mk
  46. # Include Camera UAPI Android.mk target to copy headers
  47. include $(LOCAL_PATH)/include/uapi/Android.mk
  48. else
  49. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  50. endif
  51. endif # End of check for board platform
  52. endif # ifeq ($(CAMERA_DLKM_ENABLED),true)